인프런 커뮤니티 질문&답변
@RequiredArgsConstructor사용 시 authenticationManager() 부분 문제가 무엇일까요?
작성
·
392
0
new AuthenticationFilter(authenticationManager(), userService, env);
webSecurity.java에서 위 생성자를 만들어주고
authenticationFilter.setAuthenticationManager(authenticationManager());
를 지워주라고 해서 지우니까 로그인 로직이 안 돌더라구요. 넣으면 정상으로 동작하구요. 왜 그럴까요?
@RequiredArgsConstructor
public class AuthenticationFilter extends UsernamePasswordAuthenticationFilter {
private final AuthenticationManager authenticationManager;
private final UserService userService;
private final Environment env;
생성자 따로 안 쓰고 @RequiredArgsConstructor을 사용하고 있기는 합니다..
그리고 AuthenticationFilter에서

authenticationManager와 env는 사용되지 않고 있는 것 같은데 왜 주입받는 건가요?,.
답변 1
1
Dowon Lee
지식공유자
안녕하세요, 이도원입니다.
@RequiredArgsConstructor는 생성자의 주입을 편하게 하기 위한 어노테이션입니다. 오류 메시가 없어 정확한 원인을 확인하기는 어렵지만, @RequiredArgsConstructor가 선언된 클래스에 주입되려는 각각의 필드가 fInal으로 선언되어 있는지 확인해 보시기 바랍니다.

감사합니다.





