发布说明
Spring Boot 3.0.0 现已正式发布,此版本包含了 12 个月以来 151 个人的 5700 多次 commit 的工作结晶。这是自 4.5 年前发布 2.0 以来,Spring Boot 的第一次重大修订。它也是第一个支持 Spring Framework 6.0 和 GraalVM 的 Spring Boot GA 版本。
由于这是 Spring Boot 的一个主要版本,因此升级现有应用程序可能比平时更复杂一些。官方整理了一份专门的迁移指南,以帮助升级现有的 Spring Boot 2.7 应用程序。如果你当前运行的是早期版本的 Spring Boot,建议先升级到 Spring Boot 2.7,然后再迁移到 Spring Boot 3.0。
新版本的亮点分析
1. Java 17 baseline 和 Java 19 支持
- Spring Boot 3.0 要求 Java 17 作为最低版本。如果你当前使用的是 Java 8 或 Java 11,则需要先升级 JDK,然后才能开发 Spring Boot 3.0 应用程序。Spring Boot 3.0 运行良好,并已通过 JDK 19 测试。
- Spring Boot 需要 Graal 22.3 或更高版本和 Native Build Tools Plugin 0.9.17 或更高版本
2. 支持 GraalVM native images,取代实验性的 Spring Native 项目。
- Spring Boot 3.0 应用程序现在可以转换为 GraalVM native images,这可以提供显着的内存和启动性能改进。支持 GraalVM Native Images 是整个 Spring 产品组合中的一项重大工程工作。要开始使用 GraalVM native images,可参阅更新后的 Spring Boot 参考文档。
3. 通过 Micrometer 和 Micrometer 跟踪改进可观察性
4. 支持具有 EE 9 baseline 的 Jakarta EE 10
公告称,“再次感谢多年来为 Spring 和 Spring Boot 做出贡献的所有人!支持 Jakarta EE 9 和 10、可观察性增强以及 GraalVM 支持是一项巨大的团队努力,Spring 产品组合的方方面面都未受影响。特别感谢 Spring 组合中其他项目的开发人员,没有他们就不可能有这个版本。”
更多详情可查看 release notes。
升级心得
折腾了一天,将两个生产的项目升级了(本来就已经用了2.7.5版本),就目前两个小项目用到的东西说一下要改的东西:
- springsecurity的配置需要改一下。
- mybatis-plus-3.5.2不支持。但快照版的mybatis-plus-3.5.2.6-SNAPSHOT可以。
- druid最新版druid-spring-boot-starter-1.2.15版本可用,但监控界面用不了,怀疑是javax切换到了jakarta的原因
- ehcache3,自带的javax.cache.Cache和javax.cache.CacheManager不太好使,xml的配置也不太好用,少了依赖,不想引入jaxb,也不想折腾,换了org.ehcache.Cache和org.ehcache.CacheManager。配置换成了纯代码配置
- spring.data.redis的配置文件,结构需要改一下
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,
项目推荐
Spring Cloud Alibaba微服务项目:MateCloud, 目前基于SpringBoot 2.7.6,后续会尝试升级3.0.0,当然升级后就得告别JDK1.8和JDK11了。
转载:https://blog.csdn.net/bufegar0/article/details/128045829