Spring Boot supports the number of “Starters” that make developer life easy so that more focus on functionality implementation instead of thing about dependencies and it’s version. If any starter is added then it will add all dependent jars in your classpath.
In our previous article, Spring Boot Maven Application has used two Spring Boot starters as given below:
spring-boot-starter-parent
It’s a special starter that inherits useful maven defaults. It also provides dependency management so that omit version tags for dependencies.
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.21.RELEASE</version>
</parent>
See Also: spring-boot-starter-parent in Detail.
spring-boot-starter-web
It’s add in the dependencies section to make application as a web which will add all required dependencies for a web application.
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
To get your application dependency list using command mvn dependency:tree which represents dependencies in the form of a tree. You can use the command as below:
mvn dependency:tree
Spring Boot Starters
Here is a list of Spring Boot Starters which used for adding specific features to your application.
Name | Description |
spring-boot-starter-parent | Use for core starter, logging, YAML support, and auto-configuration. |
spring-boot-starter-web | Use for building web, RESTful, applications using Spring MVC. By default embedded tomcat container. |
spring-boot-starter-aop | Use for AOP with Spring AOP and AspectJ. |
spring-boot-starter-data-jpa | Use for Spring Data JPA with Hibernate. |
spring-boot-starter-test | Use to test application with libraries including JUnit, Mockito and Hamcrest. |
spring-boot-starter-jdbc | Use for JDBC with the Tomcat JDBC connection pool. |
spring-boot-starter-thymeleaf | Use to build MVC web applications using Thymeleaf views. |
spring-boot-starter-data-couchbase | Use for Couchbase document-oriented database and Spring Data Couchbase. |
spring-boot-starter-artemis | Use for JMS messaging using Apache Artemis. |
spring-boot-starter-web-services | Use for Spring Web Services. |
spring-boot-starter-mail | Use to support Java Mail and Spring Framework’s email sending. |
spring-boot-starter-data-redis | Use for Redis key-value data store with Spring Data Redis and the Jedis client. |
spring-boot-starter-data-gemfire | Use to GemFire distributed data store and Spring Data GemFire. |
spring-boot-starter-activemq | Use to JMS messaging using Apache ActiveMQ. |
spring-boot-starter-data-elasticsearch | Use to Elasticsearch search and analytics engine and Spring Data Elasticsearch. |
spring-boot-starter-integration | Use for Spring Integration. |
spring-boot-starter-mobile | Use for building web applications using Spring Mobile. |
spring-boot-starter-validation | Use for Java Bean Validation with Hibernate Validator. |
spring-boot-starter-hateoas | Use to build a hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS. |
spring-boot-starter-jersey | Use to build RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web. |
spring-boot-starter-data-neo4j | Use for the Neo4j graph database and Spring Data Neo4j. |
spring-boot-starter-data-ldap | Use for Spring Data LDAP. |
spring-boot-starter-websocket | Use for building WebSocket. applications using Spring Framework?s WebSocket support. |
spring-boot-starter-amqp | Use for Spring AMQP and Rabbit MQ. |
spring-boot-starter-data-cassandra | Use for Cassandra distributed database and Spring Data Cassandra. |
spring-boot-starter-social-facebook | Use for Spring Social Facebook. |
spring-boot-starter-jta-atomikos | Use for JTA transactions using Atomikos. |
spring-boot-starter-security | Use for Spring Security. |
spring-boot-starter-mustache | Use for building MVC web applications using Mustache views. |
spring-boot-starter-groovy-templates | Use for building MVC web applications using Groovy Templates’ views. |
spring-boot-starter-freemarker | Use to build MVC web applications by FreeMarker views. |
spring-boot-starter-batch | Use for Spring Batch. |
spring-boot-starter-social-linkedin | Use for Spring Social LinkedIn. |
spring-boot-starter-cache | Use for Spring Framework’s caching support. |
spring-boot-starter-data-solr | Use for the Apache Solr search platform with Spring Data Solr. |
spring-boot-starter-data-mongodb | Use for MongoDB document-oriented database and Spring Data MongoDB. |
spring-boot-starter-jooq | Use for jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbc. |
spring-boot-starter-jta-narayana | Use for Spring Boot Narayana JTA Starter. |
spring-boot-starter-cloud-connectors | Use for Spring Cloud Connectors which simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku. |
spring-boot-starter-jta-bitronix | Use for JTA transactions using Bitronix. |
spring-boot-starter-social-twitter | Use for Spring Social Twitter. |
spring-boot-starter-data-rest | Use for exposing Spring Data repositories over REST using Spring Data REST. |
Spring Boot starters for Technical
Name | Description |
spring-boot-starter-tomcat | Use for Tomcat as the embedded servlet container. Default servlet container starter used by spring-boot-starter-web. |
spring-boot-starter-undertow | Use for Undertow as the embedded servlet container. An alternative to spring-boot-starter-tomcat. |
spring-boot-starter-jetty | Use for Jetty as the embedded servlet container. An alternative to spring-boot-starter-tomcat. |
spring-boot-starter-logging | Use for logging using Logback. Default logging starter. |
spring-boot-starter-log4j2 | Use for Log4j2 for logging. An alternative to spring-boot-starter-logging. |
Spring Boot starters for Production
Name | Description |
spring-boot-starter-actuator | The actuator provides production-ready features for monitor, audit and manages your application. |
spring-boot-starter-remote-shell | CRaSH remote shell use to monitor and manage your application over SSH. Deprecated since 1.5. |
2 thoughts on “Spring Boot Starters”
You must log in to post a comment.