添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Spring Boot版本更新 - 3.1正式发布,你还升得动吗

Spring Boot在2023年正式发布3.1版本,这个改变Java Web开发方式的框架,在变得越来越强大。

版本升级主要特性

Spring Boot 3.1

  • 移除Apache HttpClient 4,由 HttpClient 5取代;
  • ServletRegistrationBean FilterRegistrationBean 注册失败时抛出异常 IllegalStateException ,而不是打警告日志;
  • Hibernate升级到6.2;
  • Jackson升级到2.15;
  • Mockito升级到5.3;
  • 新增 spring-boot-docker-compose 模块;
  • 新增 Testcontainers ,方便在开发时管理外部服务;
  • Spring Authorization Server 自动配置等
  • Spring Boot 3.0

    变更巨大,比较大的变化有:

  • JDK最低也要JDK 17了;
  • 更贴近云原生,使用GraalVM和Native Build Tools将应用打包成可执行文件;
  • 大量第三方库的升级;
  • Spring Boot 2.7

  • OkHttp升级版本4;
  • 新增 spring-boot-starter-graphql
  • Spring Boot 2.6

  • info 提供Java Runtime信息;
  • Spring Boot 2.5

  • 支持环境变量前缀 application.setEnvironmentPrefix("myapp")
  • HTTP/2 over TCP;
  • 支持 Java 16;
  • Spring Boot 2.4

  • Spring 5.4;
  • R2DBC支持改为模块 spring-r2dbc
  • 支持Java 15;
  • Spring Boot 2.3

  • 支持Java 14;
  • Liveness和Readiness探针;
  • 支持R2DBC;
  • Spring Boot 2.2

  • Spring 5.2;
  • JMX默认关闭;
  • 添加JDK 13的支持,Java 8和Java11依旧支持;
  • Kubernetes detection;
  • Spring Boot 2.1

  • Spring 5.1;
  • 支持JDK 11;
  • 支持Kafka streams;
  • 自动配置的exclusion优化;
  • Spring Boot 2.0

  • 最低要求JDK 8;
  • 基于Spring 5;
  • 引入响应式编程如WebFlux;
  • 支持HTTP/2;
  • 数据池化使用HikariCP;
  • Actuator endpoint的升级等
  • 你还升得动吗

    许多程序员都喜欢新技术、新框架,但稳定性才是产品与服务的关键。而升级框架就会带来巨大的工作量和风险,这不是谁都愿意去承担的。目前,我还维护着1.5的项目,也有2.6的新项目。3.X要求JDK17,大多公司应该是很难升了。

    但各版本支持的时长是有限的,要不要更新就看财力了。

    显然是越晚出生,活得越久。

    各版本对JDK的支持

    各种版本对Java版本的支持如下表,我们要升级Spring Boot的同时,要考虑是否需要同时升级JDK。

    Release