liveBook · Manning

Spring Boot starter parent

As explained in Spring in Action, Sixth Edition

The Spring Boot starter parent is a Maven parent POM that supplies default build configuration and dependency version management for Spring Boot projects.

The Spring Boot starter parent is a Maven parent POM for Spring projects. It supplies dependency management, allowing supported libraries to inherit compatible versions instead of declaring each version manually. section 1.2.2

Listing 1.1 The initial Maven build specification
<?xml version="1.0" encoding="UTF-8"?><project
xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
        https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.3</version>                              #1
    <relativePath />
  </parent>
  <groupId>sia</groupId>
  <artifactId>taco-cloud</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>taco-cloud</name>
  <description>Taco Cloud Example</description>
 
  <properties>
    <java.version>11</java.version>
  </properties>
 
  <dependencies>
    <dependency>                                        #2
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
 
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
 
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <scope>runtime</scope>
      <optional>true</optional>
    </dependency>
 
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.junit.vintage</groupId>
          <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
 
  </dependencies>
 
  <build>
    <plugins>
      <plugin>                                          #3
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
 
  <repositories>
    <repository>
      <id>spring-milestones</id>
      <name>Spring Milestones</name>
      <url>https://repo.spring.io/milestone</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>spring-milestones</id>
      <name>Spring Milestones</name>
      <url>https://repo.spring.io/milestone</url>
    </pluginRepository>
  </pluginRepositories>
 
</project>

Use the complete Maven build specification to see the parent declaration, Spring Boot version, Java property, and starter dependencies together. section 1.2.2

Taco Cloud Maven parent

A generated project declares org.springframework.boot:spring-boot-starter-parent as its parent and sets a Spring Boot version such as 2.5.3. Dependencies covered by that parent can omit their own version numbers. Spring Initializr supplies this structure when Maven is selected. section 1.2.2

How Spring in Action, Sixth Edition covers it

How deep it goes
Explains inherited dependency versions and their Spring Boot relationship, but does not detail Maven’s dependency-resolution internals.
Examples
Uses a generated Taco Cloud POM with Spring Web, Thymeleaf, DevTools, and testing dependencies.
What it assumes
Assumes basic Maven POM familiarity while introducing parent POMs, dependency inheritance, and Spring Initializr-generated structure.
What you can do after
Configure a Maven Spring Boot project by inheriting compatible dependency versions from the parent POM.
How it connects
Connects Maven, Spring Initializr, dependency management, Spring Boot starters, and the Spring Framework.

This explainer was generated by Manning's knowledge graph from the text of Spring in Action, Sixth Edition. The section links point to the parts of the book it draws on.