- 스프링 부트 3에서 4로 마이그레이션 시 많은 변화가 있었으며, 특히 RC1 버전에서 이를 경험함. 🔄
- 의존성 모듈이 세분화되어
starter-web이 starter-web-mvc 등으로 쪼개졌고, 이로 인해 패키지 임포트 오류가 발생할 수 있음. 🧩
start.spring.io를 활용하여 3.x와 4.0 RC 버전 간의 의존성 차이를 비교하고 필요한 모듈을 추가하는 것이 중요함. 🔍
- 마이그레이션 과정에서 Gradle보다 Maven이 의존성 관리에 더 유리하다고 느낌. 🛠️
- Jackson 3가 기본 디폴트로 변경되어
ObjectMapper 관련 패키지명(com.fasterxml.jackson.xml -> com.fasterxml.jackson.tools) 및 예외 처리(JacksonException)에 변화가 있음. 📦
- Jackson 어노테이션(
@JsonIgnore)의 패키지명은 기존 com.fasterxml.jackson.xml을 유지하므로, 일괄 변경 시 주의해야 함. ⚠️
MappingJackson2HttpMessageConverter가 Deprecated 되었으므로 대체 코드를 찾아 적용해야 함. 🚫
- JUnit 4 지원이 종료되어 기존
RunWith 대신 ExtendWith (예: SpringExtension.class)를 사용해야 함. 🧪
- Testcontainers가 2.0으로 버전업 되면서 DB 벤더별 컨테이너 패키지 구조가 변경되고 제네릭 타입 지정이 불필요해짐. 🐳
- Spring Security는 3에서 4로의 마이그레이션 시 큰 변경 사항 없이 비교적 원활하게 진행될 것으로 예상됨. 🛡️
- MyBatis는 스프링 부트 버전업에 느리게 반응하므로, 마이그레이션 시 기존 버전을 사용하거나 정식 버전 출시를 기다려야 할 수 있음. ⏳