인프런 커뮤니티 질문&답변

tkddyd420님의 프로필 이미지
tkddyd420

작성한 질문수

스프링부트 시큐리티 & JWT 강의

스프링부트 시큐리티 9강 - 구글 로그인 및 자동 회원가입 진행 완료

BycryptPasswordEncoder 주입시 순화참조 문제

작성

·

1.3K

4

저는 mac m1버전 인텔리제이 spring boot 2.64 버전 java8 로 하고있습니다.

저도 13:41 BycryptPasswordEncoder를 주입하니 SecurityConfig와 순환참조가 걸려 진행이 되지 않았습니다.

그래서 PrincipalOauth2UserService에서 

private BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();

이렇게 생성하여서 진행하였습니다.

혹시 강의를 보시는 다른 분들을 위해 참고 코드를 남겼습니다.

답변 3

2

최주호님의 프로필 이미지
최주호
지식공유자

지금 제가 @Autowired 방식으로 수업을 해서 그래요!! 생성자 주입 방식으로 했어야 했는데 ㅠ

 

어쩔수없이 main이나 다른곳에서 BCrypt DI 하면 됩니다.

0

@RequiredArgsConstructor 로 하는 것도 생성자 주입인데 왜 순환참조 일어나나요?

0

왜 생성자 주입 방식으로 하면 순환참조가 안 일어나나요?

구조 자체가 SecurityConfig에서 PrincipalOauth2UserService를 참조하고

또 SecurityConfig에서 등록되는 BcryptPasswordEncoder를 다시 PrincipalOauth2UserService에서 참조하잖아요.

해당 구조를 바꾸지 않고 어떻게 생성자 주입방식만 써도 순환참조가 안일어나나요? 

tkddyd420님의 프로필 이미지
tkddyd420
질문자

김카프리오님 답변처럼 현재 구조에서 생성자 주입으로 바꾼다고해서 순환참조가 해결되지는 않습니다.
최주호 강사님이 답변하신 마지막 부분처럼 main이나 다른곳에서 BCrypt DI를 해주시면 될 것 같습니다.

tkddyd420님의 프로필 이미지
tkddyd420

작성한 질문수

질문하기