문제해결 등등...

스프링 빈 생성 순환참조

yoon9 2022. 3. 10. 19:46

이런 오류가 떴습니다.

 

Description:

The dependencies of some of the beans in the application context form a cycle:

 

잘 보아하니까 빈생성주기에 대해 문제점이 생겼다라는건데,

 

구글링을 뒤져보니, 아직 빈이 등록 되지않았는데 의존성을 주입을 할려고 하니까 오류가 뜨는거 아니면, 

서로 양방향으로 의존을 하고 있다 이것이 문제라고 나왔다..

 

SecurityConfig라는 클래스와 OauthDetailSerive를 서로가 주입을 받고 있으니까 순환참조의 오류가 뜬다.

사실 주입을 안받고 new를 하여서 생성을 하면되지만, 그럼 스프링의 장점을 이용하지 못하는 거니까 다른 방법으로 해결을 해보았습니다.

 

A->B ,B->A 이런식의 문제라는 건데, 애초에 이런 순환참조가 나오면 설계가 잘못 되어서 다시 설계를 짜서 해결을 한다고는 합니다.

 

 다시 설계를 하는 방법 말고는 뭐 없을까 구글링을 하다보니,

@lazy지연로딩으로 해결할 수 있었습니다.

 

 

 

 

 

Reference

https://iseunghan.tistory.com/379