2012-09-01 2 views
0

나는 정적 인 메소드 만있는 클래스가 있고, 스프링으로 관리되는 빈으로 초기화 될 새로운 필드를 추가하는 상황에 처해있다. 이 필드는 정적 메소드 중 하나에서 사용됩니다.Alternative for ApplicationContext

나는 컨텍스트를 인식하고 그 클래스에서 빈을 얻을 수있는 새로운 클래스를 생성 할 수 있음을 발견했다.

class A implements ApplicationContextAware{ 

    static beanType givebean(){ 
    } 

    //Code to retrieve bean from application context  
} 

class B{ 

    static beanType bean; 

    static void method1(){ 
     bean = A.giveBean(); 
     //does stuffs 
    } 

    static void method2(){ 
    } 

} 


configuration file:: 
    <bean id="bean" class="X.X.X.X.beanType"/> 

제 질문은 Spring이 관리하지 않는 클래스에서 Bean을 사용하는 방법 인 Applicationcontextaware를 사용하는 것 외입니다. 나는 Appcontextaware를 사용하는 것에 반대하지 않는다. 그러나 이것들이 다른 가능성이 있는지 궁금하다. 감사합니다. 웹 응용 프로그램에있는 경우

+1

WebApplicationContextUtils 같은 기술적에서 작동하지만 관점, 이것은 확실히 리팩토링되어야한다. 정적이지 않은 방법으로. –

+0

그래, 정확히. 하지만 이것은 레거시 코드이며 단계적으로 제거되고 있습니다. 그래서 지금은 빠른 수정 작업을하고 있습니다. – maverik

답변