The following table shows some of the important starter projects provided by Spring Boot:
Starter | Description |
spring-boot-starter-web-services | This is a starter project to develop XML-based web services. |
spring-boot-starter-web | This is a starter project to build Spring MVC-based web applications or RESTful applications. It uses Tomcat as the default embedded servlet container. |
spring-boot-starter-activemq | This supports message-based communication using JMS on ActiveMQ. |
spring-boot-starter-integration | This supports the Spring Integration Framework, which provides implementations for Enterprise Integration Patterns. |
spring-boot-starter-test | This provides support for various unit testing frameworks, such as JUnit, Mockito, and Hamcrest matchers. |
spring-boot-starter-jdbc | This provides support for using Spring JDBC. It configures a Tomcat JDBC connection pool by default. |
spring-boot-starter-validation | This provides support for the Java Bean Validation API. Its default implementation is hibernate-validator. |
spring-boot-starter-hateoas | HATEOAS stands for Hypermedia as the Engine of Application State. RESTful services that use HATEOAS return links to additional resources that are related to the current context in addition to data. |
spring-boot-starter-jersey | JAX-RS is the Java EE standard to develop REST APIs. Jersey is the default implementation. This starter project provides support to build JAX-RS-based REST APIs. |
spring-boot-starter-websocket | HTTP is stateless. WebSockets allow you to maintain a connection between the server and the browser. This starter project provides support for Spring WebSockets. |
spring-boot-starter-aop | This provides support for aspect-oriented programming. It also provides support for AspectJ for advanced aspect-oriented programming. |
spring-boot-starter-amqp | With RabbitMQ as the default, this starter project provides message passing with AMQP. |
spring-boot-starter-security | This starter project enables auto configuration for Spring Security. |
spring-boot-starter-data-jpa | This provides support for Spring Data JPA. Its default implementation is Hibernate. |
spring-boot-starter | This is a base starter for Spring Boot applications. It provides support for auto configuration and logging. |
spring-boot-starter-batch | This provides support to develop batch applications using Spring Batch. |
spring-boot-starter-cache | This is the basic support for caching using Spring Framework. |
spring-boot-starter-data-rest | This is the support to expose REST services using Spring Data REST. |
Up until now, we have set up a basic web application and understood some of the important concepts related to Spring Boot, including the following:
- AutoConfiguration
- Starter projects
- spring-boot-maven-plugin
- spring-boot-starter-parent
- The @SpringBootApplication annotation
In this section, we adopted the manual approach of creating a web application with Spring Boot.
Do you know that we could have autogenerated this application in a few simple steps? Let's look at that in the next section.