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

tkddyd420님의 프로필 이미지

작성한 질문수

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

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

BycryptPasswordEncoder 주입시 순화참조 문제

22.03.16 18:23 작성

·

1.3K

4

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

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

그래서 PrincipalOauth2UserService에서 

private BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();

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

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

답변 3

2

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

2022. 03. 21. 13:55

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

 

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

0

kim1234123님의 프로필 이미지

2023. 12. 17. 18:38

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

0

김카프리오님의 프로필 이미지

2022. 08. 17. 23:52

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

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

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

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

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

2022. 08. 19. 10:31

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