springboot3.5.3依赖学习

发布于:2025-07-19 ⋅ 阅读:(19) ⋅ 点赞:(0)

springboot3.5.3依赖学习

​ Spring Boot BOM(spring-boot-dependencies)是 Spring 官方维护的超级依赖清单,覆盖了 Spring 生态中几乎所有核心库、常用工具库及第三方依赖。其作用是统一管理这些依赖的版本,确保它们相互兼容。以下是 Spring Boot 3.5.3 BOM 中最核心、最常用的依赖列表(按功能分类),并标注其作用:

一、核心基础库(Spring Framework 核心)

这些是 Spring Boot 运行的基础,提供 IoC、AOP、事件机制等核心功能。

依赖坐标 版本(3.5.3) 作用
org.springframework:spring-core 6.1.8 Spring 核心工具类(如 BeanUtilsPropertyResolver),所有 Spring 库的基础依赖。
org.springframework:spring-context 6.1.8 IoC 容器和上下文管理(如 ApplicationContextBeanFactory),支持注解驱动的依赖注入。
org.springframework:spring-beans 6.1.8 Bean 的定义、创建和管理(如 @Bean@Autowired 注解的底层实现)。
org.springframework:spring-aop 6.1.8 面向切面编程(AOP)支持(如 @Aspect@Transactional 事务注解的底层实现)。
org.springframework:spring-expression 6.1.8 SpEL(Spring 表达式语言)支持(如 @Value("#{systemProperty.xxx}"))。

二、Web 开发核心依赖

用于构建 Web 应用(REST API、Servlet 应用等),包含 Servlet 容器、HTTP 处理、JSON 序列化等工具。

依赖坐标 版本(3.5.3) 作用
org.springframework.boot:spring-boot-starter-web 3.5.3 Web 开发基础 Starter,自动传递引入以下子依赖: - spring-boot-starter-tomcat(嵌入式 Tomcat 容器) - spring-boot-starter-json(JSON 序列化/反序列化) - spring-boot-starter-validation(参数校验) - spring-webmvc(MVC 框架,支持 @Controller@RequestMapping
org.springframework:spring-webmvc 6.1.8 MVC 框架核心(如 DispatcherServletHandlerMapping),处理 HTTP 请求与响应的映射。
org.apache.tomcat.embed:tomcat-embed-core 10.1.18 嵌入式 Tomcat 容器的核心类(Spring Boot 默认的 Web 容器)。
com.fasterxml.jackson.core:jackson-databind 2.15.3 JSON 序列化/反序列化的核心库(Spring MVC 默认使用 Jackson 处理 JSON)。
jakarta.validation:jakarta.validation-api 3.0.2 JSR-380(Bean Validation 3.0)规范接口(如 @NotBlank@Size 注解的定义)。
org.hibernate.validator:hibernate-validator 8.0.1.Final Hibernate 对 Bean Validation 的实现(支持 JSR-380 规范的具体校验逻辑)。

三、数据访问与持久化依赖

用于数据库操作、ORM(对象关系映射)、连接池管理等。

依赖坐标 版本(3.5.3) 作用
org.springframework.boot:spring-boot-starter-data-jpa 3.5.3 JPA(Java Persistence API)Starter,自动传递引入以下子依赖: - spring-orm(ORM 核心) - hibernate-core(Hibernate ORM 实现) - jakarta.persistence:jakarta.persistence-api(JPA 规范接口) - com.zaxxer:HikariCP(高性能数据库连接池)
org.springframework:spring-orm 6.1.8 ORM(对象关系映射)核心支持(如 SessionFactoryEntityTransaction)。
org.hibernate.orm:hibernate-core 6.4.4.Final Hibernate ORM 实现(将 Java 对象映射到数据库表,支持 HQL 查询)。
com.zaxxer:HikariCP 5.0.1 高性能数据库连接池(Spring Boot 默认的 JDBC 连接池,替代旧的 H2 数据库连接池)。
org.springframework:spring-jdbc 6.1.8 JDBC 核心支持(如 JdbcTemplate,简化原生 JDBC 操作)。
com.mysql:mysql-connector-j 8.0.33 MySQL 数据库驱动(Spring Boot BOM 会自动匹配当前 Spring Boot 版本兼容的驱动版本)。

四、安全相关依赖

用于身份认证、授权、OAuth2 等安全场景。

依赖坐标 版本(3.5.3) 作用
org.springframework.boot:spring-boot-starter-security 3.5.3 安全 Starter,自动传递引入以下子依赖: - spring-security-core(安全核心) - spring-security-config(安全配置) - spring-security-web(Web 安全支持,如 @PreAuthorize
org.springframework.security:spring-security-core 6.5.1 安全核心库(如 AuthenticationAuthorization 接口,密码加密工具 BCryptPasswordEncoder)。
org.springframework.security:spring-security-web 6.5.1 Web 安全支持(如处理 HTTP 认证、CSRF 保护、Session 管理)。

五、模板引擎依赖

用于生成动态 HTML 页面(可选,现代 Web 应用更多使用前后端分离)。

依赖坐标 版本(3.5.3) 作用
org.springframework.boot:spring-boot-starter-thymeleaf 3.5.3 Thymeleaf 模板引擎 Starter(支持在 HTML 中直接嵌入 Spring 表达式,适合服务端渲染)。
org.thymeleaf:thymeleaf-spring6 3.1.2.RELEASE Thymeleaf 与 Spring 6 集成的适配器(支持 Spring 的 SpringTemplateEngine)。

六、测试工具依赖

用于单元测试、集成测试、端到端测试。

依赖坐标 版本(3.5.3) 作用
org.springframework.boot:spring-boot-starter-test 3.5.3 测试 Starter,自动传递引入以下子依赖: - junit:junit(JUnit 5 测试框架) - org.mockito:mockito-core(Mock 对象工具) - org.hamcrest:hamcrest(断言工具) - org.springframework:spring-test(Spring 测试支持,如 @SpringBootTest
org.junit.jupiter:junit-jupiter-api 5.10.0 JUnit 5 测试 API(支持 @Test@BeforeEach 等注解)。
org.mockito:mockito-core 5.5.0 Mock 对象工具(模拟外部依赖,如数据库、HTTP 客户端)。

七、日志与监控依赖

用于日志记录、性能监控、健康检查等。

依赖坐标 版本(3.5.3) 作用
org.springframework.boot:spring-boot-starter-logging 3.5.3 日志 Starter(默认使用 Logback,自动传递引入以下子依赖: - ch.qos.logback:logback-classic(Logback 核心) - org.slf4j:slf4j-api(SLF4J 日志门面)
ch.qos.logback:logback-classic 1.5.6 Logback 日志实现(支持 XML/properties 配置,输出格式灵活)。
org.slf4j:slf4j-api 2.0.17 SLF4J 日志门面(统一日志接口,屏蔽底层日志实现差异)。
io.micrometer:micrometer-core 1.12.1 应用指标收集(如内存使用、请求耗时),支持集成 Prometheus、Grafana 等监控工具。

八、其他常用工具依赖

提供一些通用功能,如日期处理、配置解析、任务调度等。

依赖坐标 版本(3.5.3) 作用
org.springframework:spring-context-indexer 6.1.8 上下文索引器(加速 Spring 组件扫描,通过生成 META-INF/spring.components 文件优化启动速度)。
org.springframework:spring-tx 6.1.8 事务管理支持(如 @Transactional 注解的底层实现)。
org.springframework:spring-jms 6.1.8 JMS(Java Message Service)支持(用于消息队列,如 ActiveMQ、RabbitMQ)。
org.springframework:spring-webflux 6.1.8 WebFlux 框架核心(响应式编程支持,适合高并发异步场景)。

关键说明

  1. BOM 自动管理:上述所有依赖的版本均由 spring-boot-dependencies:3.5.3 BOM 统一控制,无需手动指定版本(除非需要覆盖)。
  2. 传递依赖:Spring Boot Starter(如 spring-boot-starter-web)会自动传递引入其依赖的底层库(如 Tomcat、Jackson),无需手动声明。
  3. 兼容性保证:BOM 中的依赖版本经过官方测试,确保相互兼容(例如,Spring Framework 6.1.8 与 Hibernate 6.4.4.Final 兼容)。

总结

Spring Boot BOM 覆盖了从核心框架到 Web 开发、数据访问、安全、测试、日志等全场景的依赖,通过统一版本管理避免了“依赖地狱”。开发者只需在项目中引入 BOM,并声明需要的 Starter(如 spring-boot-starter-web),即可自动获得所有兼容的依赖,大幅简化配置。

使用spring-boot-dependencies管理依赖

 <!-- 关键:通过 Spring Boot BOM 统一管理所有 Spring 生态依赖版本 -->
    <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>


网站公告

今日签到

点亮在社区的每一天
去签到