Spring Boot 3 (2022) — bản major, breaking changes.
Yêu cầu tối thiểu: Java 17 (Boot 2: Java 8), Jakarta EE 10.
Thay đổi lớn nhất — namespace: toàn bộ import javax. → jakarta. (vd javax.persistence.Entity → jakarta.persistence.Entity, tương tự validation/servlet; giữ nguyên javax.sql, javax.xml — không thuộc Jakarta EE).
Các thay đổi khác:
- Spring Security 6 — Lambda DSL bắt buộc, bỏ WebSecurityConfigurerAdapter.
- Spring Data — getOne() deprecated → getReferenceById().
- Auto-config — spring.factories → AutoConfiguration.imports.
- AOT + GraalVM Native Image hỗ trợ built-in.
- HTTP interface (@HttpExchange) thay Feign/RestTemplate proxy.
Bước migrate: nâng Java 17+ → đổi namespace javax→jakarta (IDE/OpenRewrite hỗ trợ tự động) → update Security config sang Lambda DSL → soát deprecated API.
Vì sao migrate: Java 17 LTS nhanh hơn, Native Image, security fix, long-term support (Boot 2.x đã EOL).