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

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 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更长一些。

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



相关文章
|
6月前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
148 0
|
5月前
|
Java
SpringBoot起步依赖原理分析
SpringBoot起步依赖原理分析
|
6月前
|
NoSQL Java Redis
springboot实现复杂业务下的更新操作
springboot实现复杂业务下的更新操作
|
Java 应用服务中间件 API
解决SpringBoot多模块发布时99%的问题?SpringBoot发布的8个原则和4个问题的解决方案
解决SpringBoot多模块发布时99%的问题?SpringBoot发布的8个原则和4个问题的解决方案
635 0
解决SpringBoot多模块发布时99%的问题?SpringBoot发布的8个原则和4个问题的解决方案
|
Cloud Native Java 应用服务中间件
这样做优化,实现 0.059s 启动一个SpringBoot项目!
这样做优化,实现 0.059s 启动一个SpringBoot项目!
|
Java Spring
SpringBoot升级3.0方法
升级到新功能版本时,某些属性可能已被重命名或删除。
|
Java Maven
记录从SpringBoot2.x升级到SpringBoot3.x的心得
记录项目中SpringBoot2.x升级到SpringBoot3.x的心得
2961 0
|
Java 容器
SpringBoot2.x基础篇:谈谈SpringBoot内提供的这几种配置绑定
`SpringBoot`在不断地版本迭代中陆续提供了不同的配置参数绑定的方式,我们可以单独获取`一个配置参数`也可以将`一系列的配置`映射绑定到`JavaBean`的属性字段,下面我们来看看这几种方式的配置绑定哪一种是你最常用到的。
SpringBoot2.x基础篇:谈谈SpringBoot内提供的这几种配置绑定
|
Java 关系型数据库 MySQL
【SpringBoot2 从0开始】实现自动配置的过程
【SpringBoot2 从0开始】实现自动配置的过程
【SpringBoot2 从0开始】实现自动配置的过程
|
Java Maven Spring
SpringBoot2.x基础篇:开发你的第一个SpringBoot应用程序
`SpringBoot2.x`版本是基于`Java8`来编写的,由于内部使用到了很多新的特性,比如:`lambda`、`interface default`...,所以需要本地开发环境有`java8`的支持。