Spring Config 작성 시 "is deprecated and marked for removal" 오류

Yushin·2024년 4월 19일
0

트러블슈팅

목록 보기
8/9

기존 SpringConfig.java

@Bean
public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception {
    httpSecurity
            // token을 사용하는 방식이기 때문에 csrf를 disable합니다.
            .csrf().disable()

            .exceptionHandling()
            .authenticationEntryPoint(jwtAuthenticationEntryPoint)
            .accessDeniedHandler(jwtAccessDeniedHandler)
            ...

기존에 작성하던 것처럼 메서드 체이닝 으로 spring security 코드를 작성하였는데 아래의 사진과 같은 "is deprecated and marked for removal" 오류가 발생하였다.


새로 생성한 프로젝트는 SpringBoot-3.3.2 / Spring Security- 6.1.3 버전을 사용하였기 때문에 해당 오류가 발생한 것이었다.

spring security 버전 확인 방법
우측 메뉴의 Gradle -> 검색 -> spring-core 버전 확인

Spring Security 6.1.0 부터는 메서드 체이닝의 사용을 지양하고 람다식을 통해 함수형으로 설정하는 방식을 지향한다고 한다.

// 기존
http.csrf.disable()

// 람다식으로 변경
http.csrf((csrf)->csrf.diable())

ref
https://velog.io/@jmjmjmz732002/Spring-Spring-Boot-3.1.0-Spring-6.1-Spring-Security-6.1-Security-Config-deprecated

https://docs.spring.io/spring-security/reference/migration-7/configuration.html

0개의 댓글