일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코딩봉사
- 공부일지
- 코틀린
- 회고
- 백준알고리즘
- MYSQL
- 자바
- 백준 알고리즘
- 알고리즘
- 문제풀이
- 시나공
- programmers
- java
- 1과목
- C++
- 정보처리산업기사
- python
- 스프링
- BFS
- 백준
- softeer
- 프로그래머스
- SQL
- SW봉사
- kotlin
- 코딩교육봉사
- 파이썬
- 소프티어
- CJ UNIT
- 데이터베이스
- Today
- Total
JIE0025
[에러] The dependencies of some of the beans in the application context form a cycle 해결 본문
[에러] The dependencies of some of the beans in the application context form a cycle 해결
Kangjieun11 2023. 2. 26. 23:55Description: The dependencies of some of the beans in the application context form a cycle: answerController defined in file [/Users/kimchangha/Desktop/projects/Section5/pre-project/new/seb42_pre_024/backend/build/classes/java/main/com/codestates_pre024/stackoverflow/answer/controller/AnswerController.class] ┌─────┐ | answerService defined in file [/Users/kimchangha/Desktop/projects/Section5/pre-project/new/seb42_pre_024/backend/build/classes/java/main/com/codestates_pre024/stackoverflow/answer/service/AnswerService.class] ↑ ↓ | questionService defined in file [/Users/kimchangha/Desktop/projects/Section5/pre-project/new/seb42_pre_024/backend/build/classes/java/main/com/codestates_pre024/stackoverflow/question/service/QuestionService.class] └─────┘
✅ 해결
이 에러메세지의 핵심은 다음과 같다.
┌─────┐
| answerService //생략
↑ ↓
| questionService //생략
└─────┘
answerService와 questionService가 서로의 객체를 사용하면서 종속성 순환에 대한 에러를 뱉은 것이다.
answerService의 필드로 정의되어 사용되는 questionService를 없애던지,
questionService의 필드로 정의되어 사용되는 answerService를 없애던지해야만했다.
기획상 answer가 question의 데이터를 찾아야하는데 메서드로 정의되어있음과 동시에
question가 answer의 데이터를 찾아야하는데 메서드로 정의되어있었어서
팀원 두분이 각자 개발하며 서로의 메서드를 참조해 사용했다가 발생하게 되었다.
두 분과 많은 대화 끝에
question과 answer는 부모자식 관계에 있었기 때문에 자식인 answer의 코드를 개편하기로 결정했고,
AnswerService의 필드로 존재하는 questionService를 없앤 후, questionRepository를 사용해 직접 데이터를 가져오도록 수정해주었다.
'개발 > 이슈, 트러블슈팅' 카테고리의 다른 글
[SMTP] 이메일 구현과 관련 이슈 기록 (3) | 2023.04.07 |
---|---|
[로그보기] url param 인코딩과 디코딩 관련 (0) | 2023.03.24 |
[의문] refresh token도 결국 JWT인데 왜 "Bearer"을 안쓰는걸까? (0) | 2023.02.26 |
통합테스트에서 데이터베이스 이슈 : 각각은 잘 동작하지만 전체 동작시 실패 (0) | 2023.01.07 |
[JPA] object references an unsaved transient instance - save the transient instance before flushing (0) | 2022.12.30 |