AOP 강의 중 순환참조오류발생
■ 발생에러
Description:
The dependencies of some of the beans in the application context form a cycle:
memberController defined in file [C:\Users\----\Documents\coding_study\spring_boot\hello-spring\out\production\classes\hello\hellospring\controller\MemberController.class]
↓
memberService defined in class path resource [hello/hellospring/SpringConfig.class]
┌─────┐
| timeTraceAop defined in class path resource [hello/hellospring/SpringConfig.class]
└─────┘
Action:
Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.
---------------------------------------------------------------------------------------------------
■ 질문사항
안녕하세요. 수고 많으십니다.
강의 진행 중 발생한 순환참조오류에 대해 알고싶습니다.
스프링 입문 - 섹션7. AOP적용 강의 진행 중 발생한 에러입니다.
스프링 빈을 등록할 때 @Component 어노테이션을 사용해 컴포넌트 스캔을 진행하거나 SpringConfig파일에서 @bean 어노테이션을 사용해 빈을 등록하거나 둘 중 어떤 것을 사용해도 된다고 알고있습니다.
SpringConfig파일에서 등록할 때는 순환참조오류가 발생하고, TimeTraceAop 클래스에 @Component 어노테이션을 사용하면 해당 오류가 발생하지 않는 것을 확인했습니다.
구글링을 통해 해당 에러가 순환 참조 오류로, 순환 참조가 발생한다면 스프링은 어느 빈을 먼저 생성해야 할지 결정하지 못하게 되어 발생하게 된다는 것을 알았습니다.
하지만 순환참조오류가 발생하는 원인만 알았을 뿐,
1. 실제로 timeTraceAop가 왜 순환참조에 갇히게 되었는지 잘 모르겠습니다.
2. 왜 SpringConfig에서 등록하는 것과 @Component 어노테이션을 사용한 결과에 차이가
발생하는 것인가요?
이해를 도와주시면 감사하겠습니다.


답변 1
..
0
76
2
Unused property.....
0
99
2
project JDK is misconfigured
0
132
2
외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석
0
82
2
단위/통합 테스트 버전충돌 문제
0
91
2
❗️springboot 4.0.2 버전 aspectj dependency 설정❗️
0
229
1
왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?
0
102
2
윈도우 build test오류 질문
1
102
2
테스트 관련 공부에 대한 조언을 얻고 싶습니다
0
99
2
테스트 실행 시 에러 질문
0
291
1
name을 통한 비교와 객체를 통한 비교
0
77
1
빌드 후 libs 없음
1
129
1
윈도우 gradlew.bat 에러
0
167
1
@PostMapping("/members/new")가 동작하지 않습니다
0
88
1
java static class와 kotlin class
0
79
1
스프링 DB연결
0
126
1
소요 시간
0
85
2
ddl.sql에 빨간 밑줄
1
101
2
welcome page 에러
0
181
3
잘 모르겠습니다.
0
164
2
fail을 똑같이 쳤는데 오류가 발생해요
0
156
2
index.html Welcome page
0
121
1
프로젝트 gradle-groovy ?
0
369
1
테스트코드 메서드명 한글
0
201
2





