or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

data-access.mdindex.mdobservability.mdspring-boot-components.mdspring-integration.mdtesting.mdweb-http.md
tile.json

tessl/maven-org-springframework-boot--spring-boot-dependencies

Spring Boot Dependencies BOM that provides centralized dependency management for the Spring Boot ecosystem with 200+ library definitions.

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/org.springframework.boot/spring-boot-dependencies@3.5.x

To install, run

npx @tessl/cli install tessl/maven-org-springframework-boot--spring-boot-dependencies@3.5.0

index.mddocs/

Spring Boot Dependencies BOM

Spring Boot Dependencies BOM provides centralized dependency management for the Spring Boot ecosystem. It defines versions, exclusions, and metadata for over 200 third-party libraries, ensuring compatibility and reducing dependency conflicts in Spring Boot applications.

Package Information

  • Package Name: spring-boot-dependencies
  • Package Type: maven
  • Language: Gradle (DSL for dependency management)
  • Installation: Import as BOM platform dependency
  • Maven: <dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>3.5.3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
  • Gradle: dependencies { implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3') }

Core Usage Patterns

Gradle Platform Import

dependencies {
    // Import the BOM to manage versions
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    // Use managed dependencies without explicit versions
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework:spring-webmvc'
    implementation 'com.fasterxml.jackson.core:jackson-core'
}

Maven BOM Import

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>3.5.3</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Basic Usage

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.5.3'
}

dependencies {
    // BOM automatically imported by Spring Boot plugin
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.postgresql:postgresql'
    
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.testcontainers:junit-jupiter'
}

Architecture

The BOM operates as a hierarchical dependency management system:

  • Library Definitions: Each library contains group IDs, artifact IDs, versions, and constraints
  • BOM Chain: References other BOMs (Spring Framework, Jackson, Reactor) for transitive management
  • Version Alignment: Ensures compatible versions across library boundaries using alignWith directives
  • Prohibition Rules: Prevents incompatible versions using prohibit constraints
  • Rich Metadata: Links to documentation, javadocs, and release notes for each library
  • Exclusion Management: Handles transitive dependency conflicts through targeted exclusions

This design provides centralized version management while maintaining flexibility for Spring Boot's opinionated approach to dependency resolution.

Capabilities

Core Spring Boot Components

Essential Spring Boot modules and starters that form the foundation of Spring Boot applications.

// Spring Boot core libraries
'org.springframework.boot:spring-boot'
'org.springframework.boot:spring-boot-autoconfigure'
'org.springframework.boot:spring-boot-starter'

// Web and reactive starters
'org.springframework.boot:spring-boot-starter-web'
'org.springframework.boot:spring-boot-starter-webflux'
'org.springframework.boot:spring-boot-starter-jersey'

// Data access starters
'org.springframework.boot:spring-boot-starter-data-jpa'
'org.springframework.boot:spring-boot-starter-data-r2dbc'
'org.springframework.boot:spring-boot-starter-data-mongodb'

Spring Boot Components

Data Access Libraries

Database drivers, connection pools, and data access frameworks with version alignment and exclusion management.

// JDBC drivers
'org.postgresql:postgresql'                    // 42.7.7
'com.mysql:mysql-connector-j'                  // 9.2.0  
'com.microsoft.sqlserver:mssql-jdbc'          // 12.10.0.jre11
'com.oracle.database.jdbc:ojdbc11'            // 23.7.0.25.01

// Connection pooling
'com.zaxxer:HikariCP'                          // 6.3.0

// Database migration
'org.flywaydb:flyway-core'                     // 11.7.2
'org.liquibase:liquibase-core'                 // 4.31.1

Data Access

Web and HTTP Libraries

Web servers, HTTP clients, and web framework components with embedded server support.

// Embedded servers
'org.apache.tomcat.embed:tomcat-embed-core'    // 10.1.42
'org.eclipse.jetty:jetty-server'               // 12.0.22
'io.undertow:undertow-core'                    // 2.3.18.Final

// HTTP clients  
'org.apache.httpcomponents.client5:httpclient5' // 5.5
'org.apache.httpcomponents.core5:httpcore5'     // 5.3.4

// Web frameworks
'org.glassfish.jersey.core:jersey-server'       // 3.1.10

Web and HTTP

Spring Framework Integration

Spring Framework BOM and related Spring project BOMs with version alignment.

// Spring Framework (aligned via BOM)
'org.springframework:spring-context'
'org.springframework:spring-web'
'org.springframework:spring-webmvc'

// Spring Data (aligned via spring-data-bom)
'org.springframework.data:spring-data-jpa'
'org.springframework.data:spring-data-mongodb'

// Spring Security (aligned via spring-security-bom)  
'org.springframework.security:spring-security-web'
'org.springframework.security:spring-security-config'

Spring Integration

Testing Libraries

Testing frameworks, mocking libraries, and test containers with Spring Boot test integration.

// JUnit and testing
'org.junit.jupiter:junit-jupiter'              // 5.11.3
'org.mockito:mockito-core'                     // 5.15.0
'org.assertj:assertj-core'                     // 3.26.3

// Spring Boot testing
'org.springframework.boot:spring-boot-starter-test'
'org.springframework.boot:spring-boot-test-autoconfigure'

// Integration testing
'org.testcontainers:junit-jupiter'             // 1.21.2
'org.testcontainers:postgresql'                // 1.21.2

Testing

Observability and Monitoring

Metrics, tracing, and monitoring libraries with Micrometer integration.

// Micrometer metrics
'io.micrometer:micrometer-core'                // 1.15.1
'io.micrometer:micrometer-registry-prometheus' // 1.15.1

// Distributed tracing
'io.micrometer:micrometer-tracing-bridge-brave' // 1.5.1
'io.zipkin.brave:brave'                         // 6.1.0

// OpenTelemetry
'io.opentelemetry:opentelemetry-api'           // 1.49.0

Observability

Version Management Features

Automatic Version Resolution

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    // These get versions from BOM automatically
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'com.fasterxml.jackson.core:jackson-core'
    implementation 'org.hibernate.orm:hibernate-core'
}

Version Alignment Across BOMs

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    // Elasticsearch client version aligned with Spring Data Elasticsearch
    implementation 'org.elasticsearch.client:elasticsearch-rest-client'
    implementation 'org.springframework.data:spring-data-elasticsearch'
    
    // MongoDB driver aligned with Spring Data MongoDB  
    implementation 'org.mongodb:mongodb-driver-sync'
    implementation 'org.springframework.data:spring-data-mongodb'
}

Override Management

dependencies {
    implementation platform('org.springframework.boot:spring-boot-dependencies:3.5.3')
    
    // Override BOM version when needed
    implementation 'org.apache.commons:commons-lang3:3.14.0'
    
    // Use BOM-managed version
    implementation 'org.apache.commons:commons-dbcp2'
}