SpringBoot 3.0正式发布,有这几个新变化!

简介: SpringBoot 3.0正式发布,有这几个新变化!


来源:Hollis(ID:hollischuang)


最近几天,Spring有了重大更新,而且更新的很频繁,相继推出了Spring Framework 6.0和SpringBoot 3.0。

Spring把这次升级称之为新一代框架的开始,下一个10年的新开端,口号喊的挺响亮,但是很多人在看过相关的Release Note之后,表示并不买账。

最近发布之后,有很多网上的资料也都发了相关介绍,但是很多文章都是直接翻译的官方的发布公告。主要更新就是以下几个:

  • A Java 17 baseline
  • Support for Jakarta EE 10 with an EE 9 baseline
  • Support for generating native images with GraalVM, superseding the experimental Spring Native project
  • Ahead-Of-Time transformations and the corresponding AOT processing support for Spring application contexts

首先,前两个比较容易理解,主要说的是依赖的服务的版本升级的信息,那就是Spring Framework 6.0和SpringBoot 3.0都要求JDK的版本最低也得是JDK 17;并且底层依赖的J2EE也迁移到了Jakarta EE 9。

虽然JDK 17有很多新的特性,并且也是目前最新的一个LTS版本。

但是其实真正的使用比较多的版本还是JDK 1.8,而Spring彻底抛弃17之前的所有版本!!!

AOT编译

Ahead-Of-Time,即预先编译,这是相对于我们熟知的Just-In-Time(JIT,即时编译)来说的。

相比于JIT编译,AOT指的是在程序运行前编译 ,这样就可以避免在运行时的编译性能消耗和内存消耗,可以在程序运行初期就达到最高性能、也可以显著的加快程序的启动。

AOT的引入,意味着Spring生态正式引入了提前编译技术,相比于JIT编译,AOT有助于优化Spring框架启动慢、占用内存多、以及垃圾无法被回收等问题。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

Spring Native

在Spring的新版本中引入了Spring Native。

有了Spring Native ,Spring可以不再依赖Java虚拟机,而是基于 GraalVM 将 Spring 应用程序编译成原生镜像(native image),提供了一种新的方式来部署 Spring 应用。这种部署Spring的方式是云原生友好的。

SpringNative的优点是编译出来的原生 Spring 应用可以作为一个独立的可执行文件进行部署,而不需要安装JVM,而且启动时间非常短、并且有更少的资源消耗。他的缺点就是构建时长要比JVM更长一些。

其他的,感觉也就没啥重要的东西了,针对最近频繁的升级你怎么看?你准备升级吗?



相关文章
|
XML 缓存 运维
springboot注解(全)
springboot注解(全)
593 0
|
监控 Java 应用服务中间件
谈谈你对spring boot 3.0的理解
1. Java 版本要求:Spring Boot 3.0 要求使用 Java 17 或更高版本,这可能会对一些仍在使用旧版 Java 的项目造成兼容性问题。需要确保项目使用的 Java 版本符合要求,并考虑是否需要升级 JDK 版本。 2. 底层依赖项迁移:Spring Boot 3.0 将所有底层依赖项从 Java EE 迁移到了 Jakarta EE API,基于 Jakarta EE 9 并尽可能地兼容 Jakarta EE 10。这可能会对一些使用了 Java EE 的应用造成影响,需要进行相应的修改和调整。 3. 插件和库的支持:尽管 Spring Boot 3.0 支持更多的插件和
867 0
|
druid Java 数据库连接
Spring Boot3整合MyBatis Plus
Spring Boot3整合MyBatis Plus
730 1
|
4月前
|
自然语言处理 搜索推荐 开发者
通义灵码 2.5.4 版【**编程智能体**】初体验
通义灵码2.5.4版是一款强大的编程智能体工具,支持VSCode和PyCharm插件安装。其核心能力包括工程级变更、自动感知项目框架、自主使用编程工具及终端命令执行等,大幅提升开发效率。通过智能体模式,用户可轻松实现从任务描述到代码生成、修改、运行的全流程自动化。例如,输入需求即可生成Gradio应用代码并自动运行,界面美观且操作流畅。该工具紧密集成开发环境,适配个性化编程习惯,为开发者带来高效便捷的编程体验。
459 12
|
Java 应用服务中间件 Spring
解析Spring Boot自动装配的原理与机制
解析Spring Boot自动装配的原理与机制
419 4
|
前端开发 JavaScript Serverless
「译文」目前大火的 Jamstack 到底是什么?
「译文」目前大火的 Jamstack 到底是什么?
|
缓存 运维 监控
Cassandra 性能压测及调优实战
掌握Cassandra分布式数据库性能压测及性能调优 作者:孤池
4263 1
Cassandra 性能压测及调优实战
|
关系型数据库 MySQL Java
MySQL与服务器时区问题实践总结
MySQL与服务器时区问题实践总结
1339 0
|
算法 专有云 Java
使用阿里云OpenAPI专有云ASO产品
使用阿里云OpenAPI专有云ASO产品
867 1
|
消息中间件 SQL Java
Spring-cloud-stream-binder-rocketmq入门与实践
本场景带您体验如何在 Spring 生态中优雅地使用 Apache RocketMQ,感受最受欢迎业务开发框架与最受欢迎消息平台结合的魅力。