外观
依赖版本参考
以下版本依据当前 own-springboot-dependencies 的 4.1.0-SNAPSHOT 源码及 Spring Boot 4.1.0 BOM 整理。平台显式管理的坐标按用途排列;导入方式和版本覆盖规则见使用与配置。这些是项目当前基线,不是各库最新版本清单。
版本管理如何生效
导入基础 Parent/BOM 后,会获得 Spring Boot 与 Hutool BOM 的管理条目,以及平台显式声明的第三方条目。项目统一 BOM 还管理 Component、Business 中声明的模块。应用仍需在 dependencies 中添加实际使用的库。
表中的“属性”是平台根 POM 的版本维护入口。只 import BOM 的应用不能依靠定义同名属性来覆盖它;应在应用的 dependencyManagement 显式管理目标坐标。引入某个云 SDK 也不意味着 Business 已实现对应业务适配器,具体能力以业务模块文档为准。
EFC 与构建基线
| 属性 | 当前值 | 用途 |
|---|---|---|
java.version | 25 | Parent 的 Compiler release |
own.platform.version | 4.1.0-SNAPSHOT | 项目 BOM 导入的基础平台版本 |
own.component.version | 4.1.0-SNAPSHOT | 项目 BOM 导入的 Component 版本 |
own.business.version | 4.1.0-SNAPSHOT | 项目 BOM 导入的 Business 版本 |
project.build.sourceEncoding | UTF-8 | 源文件编码 |
project.reporting.outputEncoding | UTF-8 | 报告编码 |
Maven 插件的五个版本属性与执行条件统一放在构建插件中。
平台显式管理的依赖
以下表格中的坐标为 groupId:artifactId。除标注的 BOM 与 classifier 外,普通依赖采用默认 JAR 类型;平台管理的版本仅适用于坐标匹配的条目。
基础 BOM
| 坐标 | 版本 | 属性 | 用途 |
|---|---|---|---|
org.springframework.boot:spring-boot-dependencies | 4.1.0 | spring-boot.version | Spring Boot 及其生态依赖的版本集合 |
cn.hutool:hutool-bom | 5.8.46 | hutool.version | Hutool 工具模块的版本集合 |
数据库与 ORM
| 坐标 | 版本 | 属性 | 用途 |
|---|---|---|---|
com.clickhouse:clickhouse-jdbc | 0.9.8 | clickhouse.version | ClickHouse JDBC 驱动;必须声明 classifier=all |
com.mysql:mysql-connector-j | 9.7.0 | mysql.version | MySQL JDBC 驱动 |
com.alibaba:druid-spring-boot-4-starter | 1.2.28 | druid.version | Druid 连接池与 Spring Boot 4 接入 |
com.baomidou:mybatis-plus-spring-boot4-starter | 3.5.16 | mybatis-plus.version | MyBatis-Plus 的 Spring Boot 4 接入 |
com.baomidou:mybatis-plus-annotation | 3.5.16 | mybatis-plus.version | 实体与 Mapper 相关注解 |
com.baomidou:mybatis-plus-jsqlparser | 3.5.16 | mybatis-plus.version | SQL 解析支持 |
com.baomidou:dynamic-datasource-spring-boot4-starter | 4.5.0 | dynamic-datasource.version | 动态数据源的 Spring Boot 4 接入 |
com.github.pagehelper:pagehelper-spring-boot-starter | 4.1.0 | pagehelper.version | PageHelper 分页接入;排除上游 MyBatis Starter |
org.apache.shardingsphere:shardingsphere-jdbc | 5.5.3 | shardingsphere.version | ShardingSphere JDBC 分片与数据治理 |
缓存、搜索与调度
| 坐标 | 版本 | 属性 | 用途 |
|---|---|---|---|
org.redisson:redisson | 4.6.1 | redisson.version | Redis 客户端、分布式数据结构与锁 |
org.redisson:redisson-spring-boot-starter | 4.6.1 | redisson.version | Redisson 的 Spring Boot 自动装配 |
org.springframework.data:spring-data-elasticsearch | 6.1.0 | spring-data-elasticsearch.version | Spring Data Elasticsearch 数据访问 |
co.elastic.clients:elasticsearch-java | 9.4.2 | elasticsearch.version | Elasticsearch Java API 客户端 |
co.elastic.clients:elasticsearch-rest5-client | 9.4.2 | elasticsearch.version | Elasticsearch HTTP 传输客户端 |
org.quartz-scheduler:quartz | 2.5.2 | quartz.version | 任务调度引擎 |
序列化、校验与通用工具
| 坐标 | 版本 | 属性 | 用途 |
|---|---|---|---|
com.alibaba.fastjson2:fastjson2 | 2.0.62 | fastjson.version | Fastjson2 JSON 解析与序列化 |
com.google.code.gson:gson | 2.13.2 | gson.version | Gson JSON 解析与序列化 |
org.yaml:snakeyaml | 2.6 | snakeyaml.version | YAML 解析 |
com.google.protobuf:protobuf-java | 4.34.2 | protobuf.version | Protocol Buffers Java 运行时 |
com.google.guava:guava | 33.6.0-jre | guava.version | 集合、缓存及并发工具 |
org.apache.commons:commons-lang3 | 3.20.0 | commons-lang3.version | 字符串、对象等通用工具 |
commons-codec:commons-codec | 1.21.0 | commons-codec.version | 摘要与编码工具 |
commons-logging:commons-logging | 1.3.6 | commons-logging.version | 通用日志接口 |
org.apache.commons:commons-compress | 1.28.0 | commons-compress.version | 压缩与归档格式处理 |
com.belerweb:pinyin4j | 2.5.1 | pinyin4j.version | 中文转拼音 |
jakarta.validation:jakarta.validation-api | 3.1.1 | jakarta-validation.version | Jakarta Validation 接口;实现由应用依赖提供 |
org.glassfish:jakarta.json | 2.1.3 | jakarta-json.version | Jakarta JSON Processing 实现 |
文件与文档处理
| 坐标 | 版本 | 属性 | 用途 |
|---|---|---|---|
org.dom4j:dom4j | 2.2.0 | dom4j.version | XML 文档解析和操作 |
org.apache.poi:poi | 5.5.1 | poi.version | POI 基础及传统 Office 格式支持 |
org.apache.poi:poi-ooxml | 5.5.1 | poi.version | Office Open XML 格式支持 |
org.apache.poi:poi-ooxml-lite | 5.5.1 | poi.version | OOXML 精简 schema 类型 |
org.apache.poi:poi-scratchpad | 5.5.1 | poi.version | POI 补充文档格式支持 |
云存储、短信与点播
| 坐标 | 版本 | 属性 | 用途 |
|---|---|---|---|
com.aliyun:aliyun-java-sdk-core | 4.7.9 | aliyun-core.version | 阿里云旧版 Java SDK 核心 |
com.aliyun.oss:aliyun-sdk-oss | 3.18.5 | aliyun-oss.version | 阿里云 OSS 对象存储 |
com.aliyun:aliyun-java-sdk-dysmsapi | 2.2.1 | aliyun-dysmsapi.version | 阿里云短信旧版 SDK |
com.aliyun:dysmsapi20170525 | 2.0.23 | aliyun-dysmsapi20170525.version | 阿里云短信 20170525 API SDK |
com.aliyun:aliyun-java-sdk-vod | 2.16.34 | aliyun-vod.version | 阿里云视频点播 |
com.huaweicloud:esdk-obs-java | 3.25.10 | huawei-obs.version | 华为云 OBS 对象存储 |
com.huawei.vod:cloud-java-sdk-vod | 2.0.9 | huawei-vod.version | 华为云视频点播 |
com.qiniu:qiniu-java-sdk | 7.19.0 | qiniu-core.version | 七牛云 Java SDK |
io.minio:minio | 8.4.3 | minio.version | MinIO 对象存储客户端 |
com.volcengine:ve-tos-java-sdk | 2.8.8 | volc-tos.version | 火山引擎 TOS 对象存储 |
网络、安全与日志
| 坐标 | 版本 | 属性 | 用途 |
|---|---|---|---|
io.netty:netty-all | 4.2.15.Final | netty.version | Netty 聚合构件;其他 Netty 模块仍需检查 BOM 解析 |
io.github.openfeign:feign-hc5 | 13.13 | feign-hc5.version | Feign 的 Apache HttpClient 5 适配器 |
io.github.openfeign:feign-okhttp | 13.13 | feign-okhttp.version | Feign 的 OkHttp 适配器 |
org.apache.httpcomponents.client5:httpclient5 | 5.6.1 | httpclient5.version | Apache HttpClient 5 |
org.apache.httpcomponents.client5:httpclient5-fluent | 5.6.1 | httpclient5.version | HttpClient Fluent API |
org.apache.httpcomponents.core5:httpcore5 | 5.4.2 | httpcore5.version | Apache HTTP Core 5 |
com.github.ulisesbocchio:jasypt-spring-boot-starter | 4.0.4 | jasypt.version | 配置属性加密接入 |
me.zhyd.oauth:JustAuth | 1.16.7 | justauth.version | 第三方登录授权客户端 |
cn.jpush.api:jpush-client | 3.7.7 | jpush.version | 极光推送客户端 |
net.logstash.logback:logstash-logback-encoder | 9.0 | logstash-logback-encoder.version | Logback 结构化日志编码 |
org.codehaus.janino:janino | 3.1.12 | janino.version | Java 表达式与动态编译支持 |
基础 BOM 两项使用 type=pom、scope=import,已由平台导入,应用通常无需重复导入。Hutool 各模块使用 5.8.46,例如 cn.hutool:hutool-core。
Spring Boot BOM 管理的常用依赖
下表列出平台未另行显式管理的常用坐标,最终版本来自当前导入的 Spring Boot BOM。完整范围远大于此表,可在应用中执行 mvn help:effective-pom 查询;应用其他 BOM 或显式覆盖可能改变结果。
| 坐标 | 当前版本 | 用途 |
|---|---|---|
org.springframework.boot:spring-boot-starter-webmvc | 4.1.0 | Spring MVC Web 应用 |
org.springframework.boot:spring-boot-starter-test | 4.1.0 | Spring Boot 测试支持,通常使用 test scope |
org.springframework:spring-core | 7.0.8 | Spring Framework 核心 |
com.github.ben-manes.caffeine:caffeine | 3.2.4 | 本地缓存 |
com.rabbitmq:amqp-client | 5.30.0 | RabbitMQ Java 客户端 |
org.postgresql:postgresql | 42.7.11 | PostgreSQL JDBC 驱动 |
org.mariadb.jdbc:mariadb-java-client | 3.5.8 | MariaDB JDBC 驱动 |
org.mongodb:mongodb-driver-sync | 5.8.0 | MongoDB 同步驱动 |
org.slf4j:slf4j-api | 2.0.18 | 日志接口 |
ch.qos.logback:logback-classic | 1.5.34 | Logback 日志实现 |
com.fasterxml.jackson.core:jackson-databind | 2.21.4 | Jackson 2 数据绑定 |
tools.jackson.core:jackson-databind | 3.1.4 | Jackson 3 数据绑定,与 Jackson 2 使用不同坐标 |
org.junit.jupiter:junit-jupiter | 6.0.3 | JUnit Jupiter 测试 API 与引擎聚合 |
org.projectlombok:lombok | 1.18.46 | Lombok 编译期注解与处理器 |
平台另外声明 junit-jupiter.version=6.0.3、lombok.version=1.18.46。Lombok 属性明确用于 Compiler 的注解处理路径;平台没有为这两项另写普通依赖管理条目,其依赖版本当前由 Spring Boot BOM 提供。不能仅因修改平台中的同名属性,就认定已覆盖导入 BOM 中的依赖版本。
同样,netty.version 明确用于平台的 netty-all 条目,Netty 模块族由 Spring Boot 导入的 Netty BOM 管理;当前 netty-buffer 等模块也解析为 4.2.15.Final,后续升级应核对整族一致性。
使用示例与下一步
已导入项目 BOM 时,引入工具库无需填写版本:
xml
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
</dependency>数据库驱动、ClickHouse classifier、PageHelper 排除项见声明实际依赖。需要 EFC 封装后的缓存与锁,继续阅读Store 组件;需要上传和访问对象,阅读资源文件;需要系统日志后端,阅读日志存储。