반응형
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
반응형
댓글