SSAFY11th-book-study / book-study

0 stars 0 forks source link

[7.2.5] 자기 참조 빈의 설정 방법 #75

Open sootudio opened 2 months ago

sootudio commented 2 months ago

P.589 에 보면 자신을 참조하는 sqlService 빈을 xml 파일에서 설정하고 있습니다. 이것은 sqlService라는 하나의 빈 안에 sqlRegistry와 sqlReader를 주입받으므로써, 세 개의 빈이 등록된 것처럼 사용하기 위해서라고 이해했습니다. 그런데 xml을 통해서 빈을 등록하는 것이 어노테이션으로도 가능한 것 처럼, 자기참조 빈도 어노테이션을 사용하여 가능한지, 가능하다면 어떤 식으로 등록되고 쓰이는지 궁금해져 질문 올립니다!!

gmelon commented 2 months ago

그냥 해보려고 했는데

image

안된다네요

image

좌절한 와중.. 찾아보니 setter 방식으로 하면 가능하다고 합니다! 생각해보면 xml을 통한 방식도 property 였으니 이게 더 xml 방식을 그대로 annotation으로 옮긴 것이겠군요!

image

또 안 됐습ㄴ다.

image

포기하려던 와중 콘솔에 이전엔 뜨지 않았던 문장이 추가된 것이 보입니다. 무슨 설정을 추가하라고 하네요.

해봅니다.

image

순환참조를 허용할 것인지 설정하는 것 같습니다. 기본적으로 순환참조가 권장되지 않지만, 오류가 발생할 수 있음을 감안하고 내가 잘 컨트롤해서 쓰겠다 뭐 이런 의미인 것 같습니다. 이번엔 과연?!

성공!

image
sootudio commented 2 months ago

@Lazy 방식을 사용해서도 된다고 합니다.