지연로딩1 스프링 빈 순환 참조 (The dependencies of some of the beans in the application context form a cycle) 해결법 어딘가 면접을 가보면 간혹 듣는 질문이 있다. 왜 생성자 주입을하는가? 그 이유중 하나가 빈의 순환 참조를 방지하기 위함인데, 스프링 빈 순환 참조는 어플리케이션 컨텍스트에서 일부 빈의 종속성이 순환주기를 만들어서 생기는 문제이다. 즉, 둘 이상의 빈이 생성자를 통해 서로 주입할 때 발생한다. 일반적으로 스프링은 어플리케이션 컨텍스트의 시작 되즌 과정에서 모든 싱긅톤 빈을 즉시 생성하는데, 이렇게 하는 이유가 컴파일단계에서 에러를 잡기 위해서이다. 지금 내가 알려드리는 방법은 이렇게 생성되는 빈을 프록시 객체로 생성하고 추후에 지연로딩으로 생성되도록하는 임시방편의 방법이다. @Lazy 어노테이션을 통해서 지연로딩을 시켜주면 어플리케이션이 실행될때 즉시 객체가 초기화되는 것이아니라 프록시 객체를 주입해 사.. 2023. 2. 22. 이전 1 다음