• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

BycryptPasswordEncoder 주입시 순화참조 문제

22.03.16 18:23 작성 조회수 763

3

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

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

그래서 PrincipalOauth2UserService에서 

private BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();

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

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

답변 3

·

답변을 작성해보세요.

1

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

 

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

0

jacomyou님의 프로필

jacomyou

2023.12.17

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

0

김카프리오님의 프로필

김카프리오

2022.08.17

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

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

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

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

tkddyd420님의 프로필

tkddyd420

질문자

2022.08.19

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