Spring Boot – Build Systems

In Spring Boot, choosing a build system is an important task. We recommend Maven or Gradle as they provide a good support for dependency management. Spring does not support well other build systems.

1. Dependency Management

Spring Boot team provides a list of dependencies to support the Spring Boot version for its every release. You do not need to provide a version for dependencies in the build configuration file. Spring Boot automatically configures the dependencies version based on the release. Remember that when you upgrade the Spring Boot version, dependencies also will upgrade automatically.

Note − If you want to specify the version for dependency, you can specify it in your configuration file. However, the Spring Boot team highly recommends that it is not needed to specify the version for dependency.

2. Maven Dependency

For Maven configuration, we should inherit the Spring Boot Starter parent project to manage the Spring Boot Starters dependencies. For this, simply we can inherit the starter parent in our pom.xml file as shown below.

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>1.5.8.RELEASE</version>
</parent>

We should specify the version number for Spring Boot Parent Starter dependency. Then for other starter dependencies, we do not need to specify the Spring Boot version number. Observe the code given below −

<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
</dependencies>

3. Gradle Dependency

We can import the Spring Boot Starters dependencies directly into build.gradle file. We do not need Spring Boot start Parent dependency like Maven for Gradle. Observe the code given below −

buildscript {
   ext {
      springBootVersion = '1.5.8.RELEASE'
   }
   repositories {
      mavenCentral()
   }
   dependencies {
      classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
   }
}

Similarly, in Gradle, we need not specify the Spring Boot version number for dependencies. Spring Boot automatically configures the dependency based on the version.

dependencies {
   compile('org.springframework.boot:spring-boot-starter-web')
}

Related posts:

Guide to @JsonFormat in Jackson
Java Program to Implement Disjoint Set Data Structure
Java Program to Solve the 0-1 Knapsack Problem
Java Program to Implement PriorityQueue API
LinkedHashSet trong java
A Guide to the finalize Method in Java
Jackson – Decide What Fields Get Serialized/Deserialized
Java Program to Implement Max Heap
Spring Boot - Runners
The DAO with JPA and Spring
Java Program to Use Boruvka’s Algorithm to Find the Minimum Spanning Tree
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Java Program to Find Number of Articulation points in a Graph
A Guide to Java HashMap
Java Program to Represent Linear Equations in Matrix Form
Java Program to Implement Queue
Tạo chương trình Java đầu tiên sử dụng Eclipse
Programmatic Transaction Management in Spring
Java Program to Solve any Linear Equation in One Variable
Consumer trong Java 8
Java Program to Implement Johnson’s Algorithm
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Tính kế thừa (Inheritance) trong java
The Spring @Controller and @RestController Annotations
Java Program to Solve a Matching Problem for a Given Specific Case
Java Program to Perform the Sorting Using Counting Sort
Java Program to Represent Graph Using Adjacency Matrix
Spring Boot - Unit Test Cases
Overview of the java.util.concurrent
Java Program to Check whether Graph is a Bipartite using DFS
Java Program to Implement Merge Sort on n Numbers Without tail-recursion
Tips for dealing with HTTP-related problems