Spring Boot 3 学习笔记:Java 17、Jakarta 和项目迁移

写在前面

Spring Boot 3 对 Java 后端来说是一个比较重要的版本。相比写“性能优化”,我更关注它带来的依赖、包名和兼容性变化。

Java 17

Spring Boot 3 要求 Java 17 起步。Java 17 提供了一些新特性,比如 record

1
2
public record UserDTO(Long id, String name) {
}

它适合简单数据传输对象,但是否使用还要看团队规范。

Jakarta 迁移

Spring Boot 3 从 javax 迁移到 jakarta

1
2
import jakarta.validation.constraints.NotNull;
import jakarta.persistence.Entity;

这个变化看起来只是包名,但项目依赖多时会带来不少兼容问题。

升级时要检查什么

我会重点检查:

  • JDK 版本
  • Spring Boot 版本
  • MyBatis / MyBatis-Plus 版本
  • 数据库驱动版本
  • 参数校验是否正常
  • 全局异常处理是否正常
  • JSON 序列化是否一致

小结

我目前对 Spring Boot 3 的理解主要在基础迁移层面。能说清楚 Java 17、Jakarta 和依赖兼容问题,比写不真实的优化数字更稳。


Spring Boot 3 学习笔记:Java 17、Jakarta 和项目迁移
https://zxyblog.top/2024/12/15/Spring-Boot-3学习笔记-Java17-Jakarta和项目迁移/
作者
zxy
发布于
2024年12月15日
许可协议