当前位置: 首页 > news >正文

springboot3.5.3依赖学习

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-core6.1.8Spring 核心工具类(如 BeanUtilsPropertyResolver),所有 Spring 库的基础依赖。
org.springframework:spring-context6.1.8IoC 容器和上下文管理(如 ApplicationContextBeanFactory),支持注解驱动的依赖注入。
org.springframework:spring-beans6.1.8Bean 的定义、创建和管理(如 @Bean@Autowired 注解的底层实现)。
org.springframework:spring-aop6.1.8面向切面编程(AOP)支持(如 @Aspect@Transactional 事务注解的底层实现)。
org.springframework:spring-expression6.1.8SpEL(Spring 表达式语言)支持(如 @Value("#{systemProperty.xxx}"))。

二、Web 开发核心依赖

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

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

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

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

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

四、安全相关依赖

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

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

五、模板引擎依赖

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

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

六、测试工具依赖

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

依赖坐标版本(3.5.3)作用
org.springframework.boot:spring-boot-starter-test3.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-api5.10.0JUnit 5 测试 API(支持 @Test@BeforeEach 等注解)。
org.mockito:mockito-core5.5.0Mock 对象工具(模拟外部依赖,如数据库、HTTP 客户端)。

七、日志与监控依赖

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

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

八、其他常用工具依赖

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

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

关键说明

  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>
http://www.dtcms.com/a/280177.html

相关文章:

  • [BrowserOS] Nxtscape浏览器核心 | 浏览器状态管理 | 浏览器交互层
  • 响应式编程入门教程第三节:ReactiveCommand 与 UI 交互
  • 【HarmonyOS】ArkUI-X 跨平台框架入门详解(一)
  • HarmonyOS从入门到精通:自定义组件开发指南(八):组件插槽 (Slot) 的魅力
  • LabVIEW电铲电机远程监测
  • JVM——编译执行于解释执行的区别是什么?JVM使用哪种方式?
  • Postgres介绍(PostgreSQL)(开源对象关系型数据库管理系统)(与Mysql对比)
  • 如何加固Web服务器的安全?
  • 网页源码保护助手 海洋网页在线加密:HTML 源码防复制篡改,密文安全如铜墙铁壁
  • 021_自然语言处理应用
  • 网络劫持对用户隐私安全的影响:一场无形的数据窃取危机
  • 线上项目-升级redis8.0.3遇到的错
  • 基于按键开源MultiButton框架深入理解代码框架(二)(指针的深入理解与应用)
  • 【机器学习基础【5】】Python数据科学三件套:从数据创建到处理再到可视化实战
  • 常用高频指令总结
  • 批量制作Word:如何根据表格数据的内容批量制作word,根据Excel的数据批量制作word文档的步骤和注意事项
  • 遥感数据与作物生长模型同化及在作物长势监测与估产中的应用
  • 介绍InfiniRetri
  • 闲庭信步使用图像验证平台加速FPGA的开发:第十六课——图像五行缓存的FPGA实现
  • 小智完整MCP交互流程(以调节音量为例)
  • 学习秒杀系统-实现秒杀功能(商品列表,商品详情,基本秒杀功能实现,订单详情)
  • OpenAI GPT-4o技术详解:全能多模态模型的架构革新与生态影响
  • AI问答-测试:理解冒烟测试(Smoke Testing)
  • 背包问题(包括路径统计)
  • Android Studio模拟器报错
  • 边缘计算网关和云网关哪个更适合工厂实时控制?
  • Spring原理—加载Bean
  • VUE Promise基础语法
  • 描述统计1
  • ChatTongyi × LangChain:开启多模态AI应用创新之门