Answer» - Eases Development of Spring Based Applications
- Eases Bootstrapping of Spring Based Applications
- Eases Development, Unit Testing & Integration Test Process.
- Provides opinionated STARTERS which simplify build & configuration
- Uses Code by Convention to reduce a lot of boilerplate code and Configurations.
For example, to create a web application using Spring, you will need the following maven DEPENDENCIES: <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>xxx</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>xxx</version>
</dependency>While with Spring boot, it reduces to : <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>SPRING_BOOT_VERSION_xxx</version>
</dependency>Not only spring Dependencies, but you also get free Embedded Tomcat Servlet CONTAINER with this, you can override this with Jetty or Undertow. Some of the commonly used are: - Spring-boot-starter-web
- Spring-boot-starter-test
- Spring-boot-starter-security
- Spring-boot-starter-data-jpa
- Spring-boot-starter-thymeleaf
- spring-boot-starter-actuator
- Provides default for Configuration ( Code & Annotations)
- Reduces Development Time
- Increases Productivity
- Eases integration with other Spring Components like Spring JDBC, Spring ORM, Spring Data, Spring Security, Spring Cloud etc
- Eases testing of Java/Groovy applications from the command line by Providing Command-line Interface
- Eases the creation of STANDALONE or Production-ready Applications
- Provide inbuilt non-functional features ( Security, Embedded Servers, metrics, health checks, externalized configurations)
- Eases building of MICROSERVICES based Applications because of its easy integration with spring web, spring cloud etc
- Eradicates XML configuration or keep it to a minimum.
|