Spring Boot Starters List

Spring Boot Starters are required to create stand alone applications with specific spring supported modules. Spring Boot starters make developer life easy so that more focus on functionality implementation instead of think about dependencies and it’s version. If any starter is added then it will add all dependent jars in your class-path and auto configure you application with required properties.

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>${springboot-version}.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.

NameDescription
spring-boot-starter-parentUse for core starter, logging, YAML support, and auto-configuration.
spring-boot-starter-webUse for building web, RESTful, applications using Spring MVC. By default embedded tomcat container.
spring-boot-starter-aopUse for AOP with Spring AOP and AspectJ.
spring-boot-starter-data-jpaUse for Spring Data JPA with Hibernate.
spring-boot-starter-testUse to test application with libraries including JUnit, Mockito and Hamcrest.
spring-boot-starter-jdbcUse for JDBC with the Tomcat JDBC connection pool.
spring-boot-starter-thymeleafUse to build MVC web applications using Thymeleaf views.
spring-boot-starter-data-couchbaseUse for Couchbase document-oriented database and Spring Data Couchbase.
spring-boot-starter-artemisUse for JMS messaging using Apache Artemis.
spring-boot-starter-web-servicesUse for Spring Web Services.
spring-boot-starter-mailUse to support Java Mail and Spring Framework’s email sending.
spring-boot-starter-data-redisUse for Redis key-value data store with Spring Data Redis and the Jedis client.
spring-boot-starter-data-gemfireUse to GemFire distributed data store and Spring Data GemFire.
spring-boot-starter-activemqUse to JMS messaging using Apache ActiveMQ.
spring-boot-starter-data-elasticsearchUse to Elasticsearch search and analytics engine and Spring Data Elasticsearch.
spring-boot-starter-integrationUse for Spring Integration.
spring-boot-starter-mobileUse for building web applications using Spring Mobile.
spring-boot-starter-validationUse for Java Bean Validation with Hibernate Validator.
spring-boot-starter-hateoasUse to build a hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS.
spring-boot-starter-jerseyUse to build RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web.
spring-boot-starter-data-neo4jUse for the Neo4j graph database and Spring Data Neo4j.
spring-boot-starter-data-ldapUse for Spring Data LDAP.
spring-boot-starter-websocketUse for building WebSocket. applications using Spring Framework?s WebSocket support.
spring-boot-starter-amqpUse for Spring AMQP and Rabbit MQ.
spring-boot-starter-data-cassandraUse for Cassandra distributed database and Spring Data Cassandra.
spring-boot-starter-social-facebookUse for Spring Social Facebook.
spring-boot-starter-jta-atomikosUse for JTA transactions using Atomikos.
spring-boot-starter-securityUse for Spring Security.
spring-boot-starter-mustacheUse for building MVC web applications using Mustache views.
spring-boot-starter-groovy-templatesUse for building MVC web applications using Groovy Templates’ views.
spring-boot-starter-freemarkerUse to build MVC web applications by FreeMarker views.
spring-boot-starter-batchUse for Spring Batch.
spring-boot-starter-social-linkedinUse for Spring Social LinkedIn.
spring-boot-starter-cacheUse for Spring Framework’s caching support.
spring-boot-starter-data-solrUse for the Apache Solr search platform with Spring Data Solr.
spring-boot-starter-data-mongodbUse for MongoDB document-oriented database and Spring Data MongoDB.
spring-boot-starter-jooqUse for jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbc.
spring-boot-starter-jta-narayanaUse for Spring Boot Narayana JTA Starter.
spring-boot-starter-cloud-connectorsUse for Spring Cloud Connectors which simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku.
spring-boot-starter-jta-bitronixUse for JTA transactions using Bitronix.
spring-boot-starter-social-twitterUse for Spring Social Twitter.
spring-boot-starter-data-restUse for exposing Spring Data repositories over REST using Spring Data REST.
Mainly used Spring Boot Starters

Spring Boot starters for Technical

NameDescription
spring-boot-starter-tomcatUse for Tomcat as the embedded servlet container. Default servlet container starter used by spring-boot-starter-web.
spring-boot-starter-undertowUse for Undertow as the embedded servlet container. An alternative to spring-boot-starter-tomcat.
spring-boot-starter-jettyUse for Jetty as the embedded servlet container. An alternative to spring-boot-starter-tomcat.
spring-boot-starter-loggingUse for logging using Logback. Default logging starter.
spring-boot-starter-log4j2Use for Log4j2 for logging. An alternative to spring-boot-starter-logging.
Spring Boot starters for Technical settings

Spring Boot starters for Production

NameDescription
spring-boot-starter-actuatorThe actuator provides production-ready features for monitor, audit and manages your application.
spring-boot-starter-remote-shellCRaSH remote shell use to monitor and manage your application over SSH. Deprecated since 1.5.
Spring Boot starters for production application

Hope this list of Spring Boot starters help you to setup your application.

Happy Learning !!!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s