스프링 순환참조를 우회하며 같은 클래스의 여러 개의 빈을 생성하기

infoqoch·2021년 10월 15일
0

스프링부트

목록 보기
8/10

빈은 하나만 만든다.

  • 스프링은 싱글톤으로 어플리케이션을 동작한다.
  • 그러므로 클래스 하나를 component로 만들면 당연하게도 하나만 생성된다.
  • 그런데 하나의 클래스에 대해 여러 개의 빈을 만들고 싶으면 어떻게 하는가?

익명 자식 클래스

  • 익명 클래스를 통해 해결 할 수 있다. 익명 클래스를 생성할 경우 각 클래스는 다른 클래스로 받아드린다.
@Data
@Component
public class LookUp {
    private final CommandValue commandValue = new CommandValue() {
    };
    private final Helper helper = new Helper() {
    };

}
@Data
public class CommandValue {
    private String error;
    private String empty;
}

사실은..

  • 위의 내용은 사실 메시징처리를 할 때 고민했던 문제다. 왜냐하면 메시지처리에서 공통된 요구사항은 반복되므로, Lookup 이란 기능의 공통적인 메시지를 추출하기 위한 노력이었다.
  • 그러나 나는 메시징 처리에 대한 상당한 회의를 가지며 프로젝트를 진행했다... 이것은 차후에...
profile
JAVA web developer

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN