pojo가 Spring에 의해 관리되지 않는 경우 정적 컨텍스트에 액세스 할 수 있습니다.
응용 프로그램 XML에 빈을 추가
public class StaticSpringApplicationContext implements ApplicationContextAware {
private static ApplicationContext CONTEXT;
public void setApplicationContext(ApplicationContext context) throws BeansException {
CONTEXT = context;
}
public static Object getBean(String beanName) {
return CONTEXT.getBean(beanName);
}
}
는 그런 다음 사용하여 POJO에서 어떤 스프링 빈을 액세서 수 있습니다 :
<bean id="StaticSpringApplicationContext" class="com.package.StaticSpringApplicationContext"/>
클래스 만들기
StaticSpringApplicationContext.getBean("yourBean")
왜 pojo를 관리하지 않습니까? 특히 속성에 접근하기 위해 Spring 컨테이너에 손을 올려야하는 경우, 왜 pojo를 관리하지 않는가? – chad
Spring 컨텍스트를 유지하고 속성에 그런 식으로 액세스 할 수 없습니까? 나는 그것이 그들이 속성 설정자를 얻는 방법이라고 확신한다. 그렇지 않다면, 주입 된 속성으로 Spring을 관리하는 간단한 pojo를 항상 가질 수 있습니다. 그런 다음 pojo에 액세스하여 해당 속성을 가져옵니다. 그것은 우아하지 않지만, 일을 끝낼 것입니다. – JustinKSU
@ chad/@ 저스틴, 메소드 내에서, 특정 조건이 참인 경우에만 속성 값을 가져와야하며 콩이 스프링 관리되는 경우에도 과도한 느낌이 들도록 필드를 작성해야합니다. – bond