首个基于 Spring Boot 4 的正式版发布!Dante Cloud 4.X 新特性全解析

0 阅读6分钟

大家好,经过三个多月的持续迭代与深度重构,Dante Cloud 4.X 正式与大家见面了。这是 Dante Cloud 首个基于 Spring Boot 4 和 Spring Cloud 2025.1 构建的版本,标志着项目在技术栈与架构设计上迈出了重要一步。

Dante Cloud 始终坚持“简洁、高效、包容、务实”的核心理念,持续整合微服务领域的主流技术与新兴技术,在代码质量、系统安全与可维护性上不断打磨。我们希望通过 Dante Cloud,打造一款代码质量高、维护投入低、安全防护强的微服务基座,帮助用户快速跨越架构技术选型、技术研究探索、基础架构搭建阶段,直接聚焦业务开发。

Dante Cloud 4.X 的核心关注点依旧聚焦于:「高质量的系统代码」「合理的系统架构」「低耦合的模块划分」「高安全性系统实现」「灵活的功能扩展能力」「优质的微服务实践方案」。同时,本版本在保持了原有 “一套代码、两种架构” 特殊架构外,也为 AI 时代的技术演进预留了更友好的底座支持。接下来,让我们一起看看 Dante Cloud 4.X 带来了哪些重要的新特性和改进。

一、Dante Cloud 4.X 新特性

[1] 基础依赖全面升级

  1. Dante Cloud 4.X 使用 JDK 版本已经全面升级至 25,充分发挥虚拟线程的能力
  2. Spring Boot 版本升级至 4.0.3
  3. Spring Cloud 版本升级至 2025.1.1
  4. Spring Cloud Alibaba 版本升级至 2025.1.0.0
  5. 全面迁移至 Jackson 3,提升序列化/反序列化性能与安全性

[2] 全新模块架构

  1. 基于 Spring Boot 4 “New Moduler Design” 体系,重构整个核心组件库模块,适配新体系下的模块划分和使用,进一步强化模块的内聚性和独立使用能力
  2. 工程 maven dependencies 体系,由原来“继承”模式变更为 import 模式,增强工程的独立性以及模块引入的便捷性,避免在多工程场景下各个工程只能串行使用效率低下问题

[3] API 版本控制

  1. 新增 REST API 版本控制能力,支持请求头、请求路径和请求参数三种 API 版本设置模式,可通过配置修改。默认已开启基于请求头的版本控制。
  2. 新增支持带 API 版本的 REST 接口动态接口鉴权能力,接口权限实时在线变更,不同版本接口可独立设置不同权限

[4] 改进 gRPC 通信

  1. 使用 Spring gRPC 组件替换原有 net.devh grpc-srping-boot-starter,并扩展 gRPC 的动态服务发现能力,让 gRPC 与系统的融合更加成体系化
  2. 新增基于 Spring Security 的 gRPC 方法动态鉴权能力,与 REST 接口权限体系保持一致,让 gRPC 通信更加安全

[5] 安全防护增强

  1. 全新实现 PKI 证书管理模块,支持在线生成与管理,无需使用传统命令行方式生成和管理证书
  2. 系统基于 Spring Authorization Server 的授权服务器加密逻辑,全部修改为使用系统 PKI 模块生成证书
  3. 改造 Spring Boot Admin 监控服务,增加登陆认证保护。使用 Dante Cloud 系统自身提供的 OAuth2 / OIDC 作为 Spring Boot Admin 主要的登录模式
  4. 新增静态接口权限 Customizer 聚合模式,服务可根据实际依赖模块按需动态装配静态接口权限,减少静态权限的重复设置和不必要的解析,进一步提升接口鉴权效率
  5. 服务 Docker 镜像基础 JDK 修改为 liberica 加固镜像,以提升镜像整体安全性及性能

[6] OSS对象存储

  1. 原 Dante OSS 工程已经停止维护,使用 AWS S3 V2 权限实现 OSS 管理模块,并合并至核心组件库
  2. 支持在线生成与管理,基于 AWS S3 V2 API 能够提供的能力,全新实现前端对象存储管理功能
  3. 重构本地文件存储和远程文件存储多层文件管理逻辑,让代码逻辑更清晰、运行更稳定、配置修改,也更容易理解和维护。

[7] 前端功能改进

  1. 基于 Vuetify Material Design 3 蓝图风格以及 Vue 3 组合式 API,全新编写新版管理界面
  2. 采用 monorepo 模块化设计,原版前端(Quasar版)和前端新版(Vuetify版),共享通用化代码模块,提升代码维护的便捷性
  3. 前端菜单权限大幅调整,支持根据多角色动态获取菜单。
  4. 支持多类型动态菜单,个人页面菜单从静态化菜单变更为支持动态化配置管理
  5. 大幅提升前端代码 Tree shaking 能力和性能
  6. 前端组件库模块新增组件 Resolver 支持,方便 IDE 更好的识别组件及其定义

[8] 其它改进提升

  1. Dante Cloud 主工程也支持中央仓库和 Maven 私库发布,服务的开发和代码组织可以更灵活
  2. 使用更优雅及更合理的方式重构自定义 JPA 二级缓存实现,彻底解决需要修改 Hibernate 源代码的问题
  3. 优化平台和服务配置,按照 Servlet 和 Reactive 不同环境需求进行拆分,以增强不同运行环境配置的独立性
  4. 重构本地文件存储及服务间文件传输体系,简化代码逻辑,清晰化代码定位,便于理解和维护
  5. 重构基础 Service 和 Controller 定义,在原有 Spring Data 实体绑定基础上,支持 DTO 类型请求和响应实体。同时支持 Spring Data Page 和 Slice 两种分页场景

二、注意事项

  1. 因为全新架构了核心组件库中的模块,核心模块坐标已统一变更为 org.dromara.dante(企业版保持不变),建议全新检出代码,避免因模块结构调整导致冲突
  2. 数据库和 Nacos 配置等,也存在较多的变化,与之前版本无法兼容,要使用新版本建议重新建库和导入配置文件。
  3. 若通过 ZIP 方式导出代码,需注释 git-commit-id-maven-plugin,否则编译会因缺少 .git 文件夹报错。建议通过 Git 克隆代码以保留版本记录功能

三、项目地址

Giteegitee.com/dromara/dan…

Githubgithub.com/dromara/dan…

Gitcodegitcode.com/dromara/dan…


在 Dante Cloud 这个开源项目里,我们用代码搭建桥梁,期待与那些认知相通、理念相契的同行者相遇——因为只有真正理解其价值的人,才能与我们一同走得更远。

如果对您有所帮助,点个 "Star" 支持一下!