복붙노트

[SPRING] 봄 부팅 응용 프로그램 - 정적 컨텍스트에서 빈 가져 오기

SPRING

봄 부팅 응용 프로그램 - 정적 컨텍스트에서 빈 가져 오기

Spring Bean에 액세스하여 이벤트를 발생시키고 Spring Bean에서 관찰 할 수 있도록 Spring 외부에서 생성 된 클래스의 인스턴스가 있습니다. 스프링 웹을 사용하지 않고, 응용 프로그램이 봄 부팅을 통해 명령 줄에서 실행됩니다.

해결법

  1. ==============================

    1.유일한 방법은 Spring에서 관리하지 않는 객체가 필요로하는 관리 빈에 대한 참조를 얻기 위해 정적 메소드를 사용하여 애플리케이션의 Spring 컨텍스트를 노출하는 것입니다.

    유일한 방법은 Spring에서 관리하지 않는 객체가 필요로하는 관리 빈에 대한 참조를 얻기 위해 정적 메소드를 사용하여 애플리케이션의 Spring 컨텍스트를 노출하는 것입니다.

  2. ==============================

    2.당신은 생성자에 의해 스프링 콩과 같은 것을 주입 할 수 있습니다 :

    당신은 생성자에 의해 스프링 콩과 같은 것을 주입 할 수 있습니다 :

    @Service
    class Bean {
        ...
    }
    
    class NotBean {
    
          private Bean bean;
    
          public NotBean(Bean bean) {
           this.bean = bean;
          }
    
          // your stuff (handle events, etc...)
    }
    
  3. from https://stackoverflow.com/questions/43804407/spring-boot-application-get-bean-from-static-context by cc-by-sa and MIT license