Spring Boot without Parent POM
There can be situations wherever you don't need the spring-boot-starter-parent dependency, but you need dependency management, you can utilize the <scope> tag as follows:
<dependencyManagement>
<dependencies>
<dependency><!-- Imports dependency management -->
<groupId>Enter Group ID</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Overrides are not allowed in the above dependencies. To achieve the override, you must add the entry in the <dependencyManagement> tag to your project before the spring-boot- dependencies entry.
In case, you need to upgrade another spring-data-eleasetrain, append the dependency to the pom.xml file as mentioned below:
<dependencyManagement>
<dependencies>
<!--Override Spring Data release train-->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Fowler-SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Spring Boot Starters
Spring Boot provides a set of launchers that you can utilize to add jars to your classpath. Spring Boot's built-in starter makes development easier and faster. Spring-Boot-Starters is a dependency descriptor.
Every Spring Boot Framework accompanies the indistinguishable naming pattern: spring-boot-starter *, where * specify a distinct application type. In case, you are working on Spring and JPA for database admittance, you must comprehend the spring-boot-starter-data-JPA dependency in pom.xml file of your respective project.
Third Party Launcher
You can also include a third party launcher in your project. However, it does not utilize spring-boot-starter to include third-party dependencies. The spring-boot-starter is restrained for the definite Spring Boot artifact. It begins with the name of the project. Let’s understand more with the help of an example, suppose third party project name is zyz then the dependency name is zyz-spring-boot-starter.
The Spring Boot Framework gives the application launchers for the org.springframework.boot group as mentioned below.
Name | Description |
spring-boot-starter-mail | Dispatch of Java Mail and Spring Framework emails is supported. |
spring-boot-starter-data-couchbase | Utilized for documentation databases Couchbase and Spring Data Couchbase. |
spring-boot-starter-artemis | JMS messaging is performed with the help of Apache Artemis |
spring-boot-starter-web-services | It helps in providing the Spring web services. |
Spring-boot-starter-thymeleaf | It forms MVC web applications with the help of thymeleaf view. |
spring-boot-starter-data-redis | Utilized for Spring Data Redis and Redis key-value datastores with Jedis clients. |
spring-boot-starter-web | It helps in fabricating the Web applications which also contains RESTful applications using Spring MVC. Tomcat is utilized as the default built-in container. |
spring-boot-starter-data-gemfire | Utilized for distributed datastores GemFire and Spring Data GemFire.. |
spring-boot-starter-activemq | It provides JMS messaging with the help of Apache ActiveMQ. |
spring-boot-starter-data-elasticsearch | Elasticsearch search, analytics engine and Spring Data Elasticsearch utilizes this launcher. |
spring-boot-starter-integration | Spring Integration is performed with the help of this. |
spring-boot-starter-test | Spring Boot applications are usually tested with the help of this launcher containing libraries together with JUnit, Hamcrest and Mockito. |
spring-boot-starter-jdbc | Connection pooling of JDBC with Tomcat JDBC is performed. |
spring-boot-starter-mobile | It helps to form web applications with the help of Spring Mobile. |
spring-boot-starter-validation | It validates Java Beans in connection to Hibernate Validator. |
spring-boot-starter-hateoas | It forms RESTful web applications depending on hypermedia with the help of Spring MVC and Spring HATEOAS. |
spring-boot-starter-jersey | It forms RESTful web applications with the help of JAXRS and Jersey which is the substitute to spring-boot-starter-web. |
spring-boot-starter-data-neo4j | It gives contribution to Neo4j graph database and Spring Data Neo4j. |
spring-boot-starter-data-ldap | Spring Data LDAP utilizes this launcher. |
spring-boot-starter-websocket | WebSocket applications are formed with the help of this launcher. It takes support from Spring Framework's WebSocket . |
spring-boot-starter-aop | Aspect-oriented programming is performed with the help of Spring AOP and AspectJ. |
spring-boot-starter-amqp | Spring AMQP, in addition to Rabbit MQ utilizes this launcher. |
spring-boot-starter-data-cassandra | Utilized for distributed databases Cassandra and Spring Data Cassandra. |
spring-boot-starter-social-facebook | Spring Social Facebook utilizes this |
spring-boot-starter-jta-atomikos | Utilized for JTA transactions using Atomikos. |
spring-boot-starter-security | It is utilized for Spring Security. |
spring-boot-starter-mustache | Utilized to form MVC web applications with the help of the Mustache view. |
spring-boot-starter-data-jpa | Utilized for Spring Data JPA including Hibernate. |
spring-boot-starter | Utilized to set-up the kernel that also supports auto-configuration, logging, and YAML. |
spring-boot-starter-groovy-templates | Utilized to form MVC web applications with the help of the Groovy template view. |
spring-boot-starter-freemarker | Utilized to form MVC web applications with the help of the FreeMarker view. |
spring-boot-starter-batch | This is utilized for Spring Batch. |
spring-boot-starter-social-linkedin | Spring Social LinkedIn uses this launcher. |
spring-boot-starter-cache | It provides Spring Framework's caching support. |
spring-boot-starter-data-solr | Utilized for the Apache Solr search platform with the help of Spring Data Solr. |
spring-boot-starter-data-mongodb | MongoDB document-oriented database utilize this that combines with the Spring Data MongoDB. |
spring-boot-starter-jooq | Utilized by jOOQ to access SQL databases. This is a substitute to spring-boot-starter-data-JPA or spring-boot-starter-jdbc. |
spring-boot-starter-cloud-connectors | Utilized with Spring Cloud Connectors to easily connect to services on cloud platforms such as Cloud Foundry and Heroku |
spring-boot-starter-jta-bitronix | Utilized for JTA transactions which can be done by using Bitronix. |
spring-boot-starter-social-twitter | Spring Social Twitter utilizes this launcher. |