본문 바로가기
스프링/스프링

[Spring] The dependencies of some of the beans in the application context form a cycle 양방향 의존관계 오류

by 책 읽는 개발자_테드 2021. 8. 9.
반응형

The dependencies of some of the beans in the application context form a cycle 양방향 의존관계 오류

스프링 프레임워크에서는 @Autowire 어노테이션을 이용해서 의존성 주입을 한다. 그런데 서로 다른 두 개의 클래스에서 서로를 의존성 주입하면 위와 같이 양방향 의존관계 오류가 발생한다.

 

위 이미지에서는 userService, reservationService 클래스가 서로를 의존성 주입하고 있어 오류가 발생했다. 이는 A를 변경하면 B가 영향을 받고, B를 변경하면 A가 영향을 받으므로 나쁜 설계라고 할 수 있다. 

 

이를 해결하기 위해 A>B, B>A 의존 관계가 있다면 새로운 C를 만들어서 A>B>C로 의존관계를 갖도록 변경하여 문제를 해결 할 수 있다.

 

출처

https://www.inflearn.com/questions/83328

 

 

 

 

반응형

댓글