[에러] @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. If it is not supposed to be settable during building, make the field final.

2023. 3. 10. 23:17에러 창고

728x90
SMALL

[Reason]

Spring Security 를 적용하면서 UserDetails 객체를 만들었을 때 권한을 List 타입 속성으로 받으려고 했다.

하지만 실행했을 때 해당 이슈가 발생하였다.

에러를 해석하자면 @Builder 는 초기화 표현을 완전히 무시한다. 초기화 하고 싶으면 @Builder.Default 를 사용하거나 final 쓰면 된다고 한다.

UserDetails 에는 @Builder라고 되어있는데 다른 속성들은 단일 객체 타입으로 되어있지만 권한 속성은 List 타입이기 때문에 초기화를 따로 해주었어야 했던 것 같다.

 

 

[Solution]

해당 List타입 권한 속성에 Builder Default를 넣어주어 해결하였따.

new ArrayList<>() . 즉, 비어있는 ArrayList를 초기값으로 설정하겠다는 의미이다.

728x90
반응형
LIST