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:

How to Define a Spring Boot Filter?
Number Formatting in Java
Most commonly used String methods in Java
The Dining Philosophers Problem in Java
A Guide to Iterator in Java
Java Program to Solve the 0-1 Knapsack Problem
Java Program to Implement Stack using Linked List
Java – Rename or Move a File
Hướng dẫn sử dụng lớp Console trong java
New in Spring Security OAuth2 – Verify Claims
Custom Thread Pools In Java 8 Parallel Streams
Java Program to Implement an Algorithm to Find the Global min Cut in a Graph
Java Program to Encode a Message Using Playfair Cipher
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Java Program to Implement the Monoalphabetic Cypher
Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree
Hướng dẫn Java Design Pattern – Transfer Object
HttpClient Connection Management
Java Program to Check Cycle in a Graph using Topological Sort
Intersection of Two Lists in Java
How to Break from Java Stream forEach
Java Program to Implement the One Time Pad Algorithm
Jackson – Bidirectional Relationships
Java Program to Implement RoleList API
Java Program to Implement Quick Sort with Given Complexity Constraint
Getting Started with GraphQL and Spring Boot
Hướng dẫn Java Design Pattern – Memento
Removing all duplicates from a List in Java
Guide to Java 8 groupingBy Collector
Java Program to find the maximum subarray sum using Binary Search approach
Java Program to Implement Multi-Threaded Version of Binary Search Tree
HashMap trong Java hoạt động như thế nào?