Spring 3.0 준비하기
지난 2022년 5월 24일. 스프링 블로그에 글이 개제되었다. 내용은 바로 스프링 3.0 을 대비하라는 것. 그리 길지 않은 내용이니 간단하게 정리해보며, 바뀌는 점, 대응해야하는 점들을 정리해보고자 한다.
1. 핵심 내용
2018년 2월 28일 처음 스프링 2.0 이 등장한 이래로 4년간 2.x 버전들을 유지해왔다. 그간 릴리즈만 95회를 기록하며 열심히 유지보수해왔다.
이제 스프링 팀은 2022년 11월 스프링 3.0을 발표하며 새로운 변화를 도모하고자 한다. 굵직한 변경사항들은 대략 다음과 같다.
스프링 프레임워크 6.0
자바 버전은 최소 17이상이 될 것
스프링 부트 3.0은 EE 8 (javax.*) 가 아닌 Jakarta EE 9 (jakarta.*) api 를 사용한 첫번재 버전이 릴리즈 될 것
2. 준비하기
자바 17로 버전 업그레이드 하기
이미 스프링 2.x 버전들도 충분히 java 17과 호환이 잘 되니, 스프링부트 3.0 릴리즈까지 기다리지 말고 미리미리 업그레이드 할 것을 추천한다.
만약 스프링부터 2.7 이전버전을 사용하고 있다면 2.7로 업그레이드 하기
스프링은 항상 한 스텝씩 버전 업을 하는 것이 한번에 버전을 뛰어 넘는 것보다 수월하다.
2.5 -> 2.6 -> 2.7 (recommended) / 2.5 -> 2.7 (not recommended)
스프링 2.7에서 3.0으로 마이그레이션 하는 것은 공식 문서를 통해 가이드를 제공할 예정이지만, 이전 버전에 대해서는 이미 2.7로 업그레이드 한 상태라고 가정할 것임.
deprecated 코드 확인하기
통상적으로 12개월의 여유기간을 두고 deprecated 코드는 사라진다.
하지만 스프링 3.0의 경우는 기존에 deprecated 된 코드를 모두 삭제할 예정이다. 따라서 미리미리 준비할 것!
application.properties -> application.yaml 로 변경하기
스프링 2.4부터 application.properties 를 application.yaml 형식으로 바꾸었다.
지금까지는
spring.config.use-legacy-processing
옵션을 통해 이전 properties 를 사용할 수 있었지만, 3.0부터는 지원하지 않는다.
스프링부트 2.6부터는 PathPatternParser 가 기본설정으로 사용되는데, 설정을 통해
AntPathMatcher
를 사용해왔던 옛날 프로젝트들이 있다. 3.0 에서도 여전히 사용 가능하긴 하겠지만, 변경하는 것을 강력히 추천한다.third party library 가 Jakarta EE 9 와 호환되는지 체크하기
스프링 integration 을 제공하는 서드파티 jar 를 사용하고 있다면 스프링 프레임워크 6.0 과 호환가능한지 확인하기
이런 변경 사항들은 꼼꼼히 체크하여 어플리케이션 상 문제가 발생하지 않도록 하자.
Last updated