Spring Boot Starters List

In this post, we will list out important and commonly used Spring boot starter dependencies.

Spring Boot provides a number of starters that allow us to add jars to the classpath. Spring Boot built-in starters make development easier and rapid. Spring Boot Starters are the dependency descriptors.
Learn Spring boot at https://www.javaguides.net/p/spring-boot-tutorial.html

Spring Boot Starters 

In the Spring Boot Framework, all the starters follow a similar naming pattern: spring-boot-starter-*, where * denotes a particular type of application. For example, if we want to use Spring and JPA for database access, we need to include the spring-boot-starter-data-jpa dependency in our pom.xml file of the project.

The Spring Boot Framework provides the following application starters under the org.springframework.boot group.
spring-boot-starter-thymeleafIt is used to build MVC web applications using Thymeleaf views.
spring-boot-starter-data-couchbaseIt is used for the Couchbase document-oriented database and Spring Data Couchbase.
spring-boot-starter-artemisIt is used for JMS messaging using Apache Artemis.
spring-boot-starter-web-servicesIt is used for Spring Web Services.
spring-boot-starter-mailIt is used to support Java Mail and Spring Framework's email sending.
spring-boot-starter-data-redisIt is used for Redis key-value data store with Spring Data Redis and the Jedis client.
spring-boot-starter-webIt 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-gemfireIt is used to GemFire distributed data store and Spring Data GemFire.
spring-boot-starter-activemqIt is used in JMS messaging using Apache ActiveMQ.
spring-boot-starter-data-elasticsearchIt is used in Elasticsearch search and analytics engine and Spring Data Elasticsearch.
spring-boot-starter-integrationIt is used for Spring Integration.
spring-boot-starter-testIt is used to test Spring Boot applications with libraries, including JUnit, Hamcrest, and Mockito.
spring-boot-starter-jdbcIt is used for JDBC with the Tomcat JDBC connection pool.
spring-boot-starter-mobileIt is used for building web applications using Spring Mobile.
spring-boot-starter-validationIt is used for Java Bean Validation with Hibernate Validator.
spring-boot-starter-hateoasIt is used to build a hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS.
spring-boot-starter-jerseyIt is used to build RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web.
spring-boot-starter-data-neo4jIt is used for the Neo4j graph database and Spring Data Neo4j.
spring-boot-starter-data-ldapIt is used for Spring Data LDAP.
spring-boot-starter-websocketIt is used for building the WebSocket applications. It uses Spring Framework's WebSocket support.
spring-boot-starter-aopIt is used for aspect-oriented programming with Spring AOP and AspectJ.
spring-boot-starter-amqpIt is used for Spring AMQP and Rabbit MQ.
spring-boot-starter-data-cassandraIt is used for Cassandra distributed database and Spring Data Cassandra.
spring-boot-starter-social-facebookIt is used for Spring Social Facebook.
spring-boot-starter-jta-atomikosIt is used for JTA transactions using Atomikos.
spring-boot-starter-securityIt is used for Spring Security.
spring-boot-starter-mustacheIt is used for building MVC web applications using Mustache views.
spring-boot-starter-data-jpaIt is used for Spring Data JPA with Hibernate.
spring-boot-starterIt is used for core starter, including auto-configuration support, logging, and YAML.
spring-boot-starter-groovy-templatesIt is used for building MVC web applications using Groovy Template views.
spring-boot-starter-freemarkerIt is used for building MVC web applications using FreeMarker views.
spring-boot-starter-batchIt is used for Spring Batch.
spring-boot-starter-social-linkedinIt is used for Spring Social LinkedIn.
spring-boot-starter-cacheIt is used for Spring Framework's caching support.
spring-boot-starter-data-solrIt is used for the Apache Solr search platform with Spring Data Solr.
spring-boot-starter-data-mongodbIt is used for MongoDB document-oriented database and Spring Data MongoDB.
spring-boot-starter-jooqIt 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-narayanaIt is used for Spring Boot Narayana JTA Starter.
spring-boot-starter-cloud-connectorsIt is used for Spring Cloud Connectors that simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku.
spring-boot-starter-jta-bitronixIt is used for JTA transactions using Bitronix.
spring-boot-starter-social-twitterIt is used for Spring Social Twitter.
spring-boot-starter-data-restIt is used for exposing Spring Data repositories over REST using Spring Data REST.

Spring Boot Production Starters

spring-boot-starter-actuatorIt is used for Spring Boot's Actuator that provides production-ready features to help you monitor and manage your application.
spring-boot-starter-remote-shellIt is used for the CRaSH remote shell to monitor and manage your application over SSH. Deprecated since 1.5.

Spring Boot Technical Starters

spring-boot-starter-undertowIt is used for Undertow as the embedded servlet container. An alternative to spring-boot-starter-tomcat.
spring-boot-starter-jettyIt is used for Jetty as the embedded servlet container. An alternative to spring-boot-starter-tomcat.
spring-boot-starter-loggingIt is used for logging using Logback. Default logging starter.
spring-boot-starter-tomcatIt is used for Tomcat as the embedded servlet container. Default servlet container starter used by spring-boot-starter-web.
spring-boot-starter-log4j2It is used for Log4j2 for logging. An alternative to spring-boot-starter-logging.