Spring Boot

เมื่อสิ้นเดือนที่ผ่านมา Spring Boot ได้ออก minor release ใหม่ คือ v2.7.0 โดยมี update ใหม่ ๆ เช่น

สำหรับ project ที่ expose auto-configuration เช่น Maven library เดิมทีเราจะกำหนด auto-configuration class ไว้ใน META-INF/spring.factories ใน resource classpath ดังนี้

ใน Spring Boot 2.7 จะต้องเปลี่ยนเป็น META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports ใน resource classpath ดังนี้

สิ่งที่น่าสนใจของการ upgrade ใน version นี้คือ มันจะเป็น version สุดท้ายก่อนที่จะ upgrade อีกเป็น 3.0 ที่จะมาใน November 2022 นั่นหมายความว่าเราจะต้องเตรียมตัวให้พร้อมแต่เนิ่น มาดูกันว่ามีอะไรต้องทำบ้าง

  • Upgrade JDK ให้เป็น Java 17 เนื่องจาก Spring Boot 3.0 จะใช้ Spring Framework 6.0 ซึ่งรองรับ Java 17 ขึ้นไป สำหรับแนวทางการ upgrade สามารถดูได้จากบทความ การ migrate Java project ไป version ใหม่ต้องคำนึงถึงอะไรบ้าง
  • Upgrade Spring Boot ให้เป็น 2.7.x เนื่องจากตอน release Spring Boot 3.0 จะมี migration guide จาก 2.7 เท่านั้น หมายความว่าก่อน migrate ตัว Spring Boot version ก็ควรจะอยู่ที่ 2.7.x แล้ว
  • Upgrade dependency ให้เป็นล่าสุด เนื่องจาก third-party บางตัวอาจจะไม่รองรับ Spring Framework 6.0 หรือ Jakarta EE 9 ใน Spring Boot 3.0

สามารถดูรายละเอียดเพิ่มเติมได้ใน Preparing for Spring Boot 3.0 จาก Spring Blog