코딩하는 쨈이

[Spring - 오류해결] The dependencies of some of the beans in the application context form a cycle: timeTraceAop defined in class path resource 본문

쨈,ErrorLog

[Spring - 오류해결] The dependencies of some of the beans in the application context form a cycle: timeTraceAop defined in class path resource

정쨈 2020. 12. 31. 18:31

[오류내용]

 

***************************
APPLICATION FAILED TO START
***************************

Description: The dependencies of some of the beans in the application context form a cycle:
┌─────┐
 | timeTraceAop defined in class path resource [hello/hellospring/SpringConfig.class]
└─────┘
Disconnected from the target VM, address: '127.0.0.1:53977', transport: 'socket' Process finished with exit code 1

 

 

[오류해결]

이전 포스트에서 bean중복으로 인한 overriding은 해결하기위해

overriding=True 메세지를 application.properties에 추가하고나서 2차로 뜬 오류메세지이다.

 

그래서 오류 메세지에 있는 SpringConfig에 가서 다시 확인해봤더니

 

 

 

line26 ~ line 28에 timeTraceAop가 중복으로 등록되어있는걸 확인해서 내용을 지운 후

 

더이상 오버라이딩 된 내용이 없으니 기존에 application.properties에 넣어준 overriding 메세지도 지웠다.

 

 

 

그러면 이제 정상 작동!

 

 


++ 추가)

 

강의를 듣다보니까 알게 됐는데 위처럼 @Component를 걸어주고 써도 되지만

그보다 직접 SpringBean에 등록해서 써야 AOP에 걸어서 쓴다는 것을 인지할 수 있기 때문에  더 선호한다고 한다.

 

그래서 위처럼 중복되었을 경우 어떤걸 지워줘야 더 효율적인지 한 번 더 생각해보고 지워야할 것 같다.