❌ Spring - Circular Dependency Error (순환참조)
원인
A Class < - > B Class 가 서로의 클래스에서 의존성을 주입받는 상황에서 순환 참조 에러가 발생
해결
- A <-> B 두 클래스에서 서로 DI를 받던 코드에서 한쪽의 의존성을 완전히 제거
- 로직을 한쪽으로 이동
- 순환참조 에러가 해결가 더이상 출력이 되지 않고, 어플리케이션이 정상 실행
의문점
- 회원1 : 질문N, 질문1 : 답변N 의 연관관계에서
의존성 제거 / 로직이동
을 순환 참조가 발생한 두 클래스에서 중 어느 클래스에서 할지에 대한 기준
N쪽에서 1을 끌어서 쓰는 방식으로 일단 해결함
내용 추가
보통 양방향 관계에서 서로 같은 의존성을 공유하는 경우 발생한다.
양방향 연관관계를 적절하게 대부분 단방향으로 바꾸고 API, 비즈니스 로직 등 작성 시,
로직을 화면에 맟춰서 적절한곳에 작성 & 순환참조를 항상 유의하면서 작성하기
'❌ Error Handling' 카테고리의 다른 글
Spring - N+1 (DB 성능 이슈) (0) | 2023.04.15 |
---|---|
Spring - Lazy Initialization Exception (0) | 2023.04.15 |
Spring - Redis System Exception (0) | 2023.04.15 |
Spring - Data Integrity Violation Exception (0) | 2023.04.15 |
IntelliJ - PXIX Path Validation Failed Error (0) | 2023.04.15 |