상세 컨텐츠

본문 제목

The dependencies of some of the beans in the application context form a cycle 오류

언어/Spring Frame Work

by codeon 2024. 9. 5. 21:31

본문

반응형

The dependencies of some of the beans in the application context form a cycle 스프링에서 개발을 진행하다보면 위와같은 오류를 심심치 않게 볼때가 있습니다. 아주 간단하게 위와 같은 현상을 소스코드로 만들어 볼 수 있습니다. 실제 발생되는 소스코드 모습니다.

cycle오류 상황

 

말그대로, 순환 참조를 하고 있어서 그렇습니다. 당연히 순환 참조를 하지 않도록 소스 코드를 변경해 줘야합니다. 다만 스프링 부트에서 순환관계를 허용할 수 있도록 옵션이 제공됩니다.

 

순환 참조 오류 소스 코드

우리가 원하는 목적은 객체들이 개별 객체를 순환 참조 가능하도록 하는 것이 목적일 것이다. 위와 같이 오류만 없애는 경우 순환관계가 깨지게 된다. 이럴때 순환관계는 해치지 않고 원래의 목적대로 사용하려면 소스 수정 없이 아래와 같이 config 설정을 추가하면 됩니다.

spring:
  application:
    name: SecurityWebApplication
  main.allow-circular-references: true
main.allow-circular-references: true

 

다만 위와 같은 상황은 다양한 참조 오류가 발생될 수 있으니 가급적 순환 참조 상황은 피하는 것이 정신건강에 이롭습니다.

 

마지막으로 아래와 같이 순환을 깨면 정상적인 기동이 이뤄집니다.

순환 참조를 해제하는 소스코드

반응형

'언어 > Spring Frame Work' 카테고리의 다른 글

Spring Security 6 기본 설정  (0) 2024.06.09

관련글 더보기