Spring Boot Starters

Spring Boot Starters – Eases dependency management

Handling dependency management is a difficult task for big projects. Spring Boot resolves this problem by providing a set of dependencies for developers convenience.

Spring Boot starters are templates that contain a collection of all the relevant transitive dependencies that are needed to start a particular functionality.

For example, if you want to use Spring and JPA for database access, it is sufficient if you include spring-boot-starter-data-jpa dependency in your project.



The spring-boot-starter-parent dependency is the parent pom providing dependency and plugin management for Spring Boot-based applications. It contains the default versions of Java to use, the default versions of dependencies that Spring Boot uses, and the default configuration of the Maven plugins.


You do not need to provide version information into child dependencies. All versions are resolved in relation to version of parent starter (in our example it’s 2.2.2.RELEASE).


Spring Boot comes with over 50+ different starter modules, which provide ready-to-use integration libraries.

Starter Description
spring-boot-starter-thymeleaf It is used to build MVC web applications using Thymeleaf views.
spring-boot-starter-data-couchbase It is used for the Couchbase document-oriented database and Spring Data Couchbase.
spring-boot-starter-artemis It is used for JMS messaging using Apache Artemis.
spring-boot-starter-web-services It is used for Spring Web Services.
spring-boot-starter-mail It is used to support Java Mail and Spring Framework’s email sending.
spring-boot-starter-data-redis It is used for Redis key-value data store with Spring Data Redis and the Jedis client.
spring-boot-starter-web It is used for building the web application, including RESTful applications using Spring MVC. It uses Tomcat as the default embedded container.
spring-boot-starter-data-gemfire It is used to GemFire distributed data store and Spring Data GemFire.
spring-boot-starter-activemq It is used in JMS messaging using Apache ActiveMQ.
spring-boot-starter-data-elasticsearch It is used in Elasticsearch search and analytics engine and Spring Data Elasticsearch.
spring-boot-starter-integration It is used for Spring Integration.
spring-boot-starter-test It is used to test Spring Boot applications with libraries, including JUnit, Hamcrest, and Mockito.
spring-boot-starter-jdbc It is used for JDBC with the Tomcat JDBC connection pool.
spring-boot-starter-mobile It is used for building web applications using Spring Mobile.
spring-boot-starter-validation It is used for Java Bean Validation with Hibernate Validator.
spring-boot-starter-hateoas It is used to build a hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS.
spring-boot-starter-jersey It is used to build RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web.
spring-boot-starter-data-neo4j It is used for the Neo4j graph database and Spring Data Neo4j.
spring-boot-starter-data-ldap It is used for Spring Data LDAP.
spring-boot-starter-websocket It is used for building the WebSocket applications. It uses Spring Framework’s WebSocket support.
spring-boot-starter-aop It is used for aspect-oriented programming with Spring AOP and AspectJ.
spring-boot-starter-amqp It is used for Spring AMQP and Rabbit MQ.
spring-boot-starter-data-cassandra It is used for Cassandra distributed database and Spring Data Cassandra.
spring-boot-starter-social-facebook It is used for Spring Social Facebook.
spring-boot-starter-jta-atomikos It is used for JTA transactions using Atomikos.
spring-boot-starter-security It is used for Spring Security.
spring-boot-starter-mustache It is used for building MVC web applications using Mustache views.
spring-boot-starter-data-jpa It is used for Spring Data JPA with Hibernate.
spring-boot-starter It is used for core starter, including auto-configuration support, logging, and YAML.
spring-boot-starter-groovy-templates It is used for building MVC web applications using Groovy Template views.
spring-boot-starter-freemarker It is used for building MVC web applications using FreeMarker views.
spring-boot-starter-batch It is used for Spring Batch.
spring-boot-starter-social-linkedin It is used for Spring Social LinkedIn.
spring-boot-starter-cache It is used for Spring Framework’s caching support.
spring-boot-starter-data-solr It is used for the Apache Solr search platform with Spring Data Solr.
spring-boot-starter-data-mongodb It is used for MongoDB document-oriented database and Spring Data MongoDB.
spring-boot-starter-jooq It is used for jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbc.
spring-boot-starter-jta-narayana It is used for Spring Boot Narayana JTA Starter.
spring-boot-starter-cloud-connectors It is used for Spring Cloud Connectors that simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku.
spring-boot-starter-jta-bitronix It is used for JTA transactions using Bitronix.
spring-boot-starter-social-twitter It is used for Spring Social Twitter.
spring-boot-starter-data-rest It is used for exposing Spring Data repositories over REST using Spring Data REST.

Leave a Reply

Your email address will not be published. Required fields are marked *