この方法を使用して、非Spring BeanクラスでSpring Beanを使用できます
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class ApplicationContextUtils implements ApplicationContextAware {
private static ApplicationContext ctx;
@Override
public void setApplicationContext(ApplicationContext appContext) {
ctx = appContext;
}
public static ApplicationContext getApplicationContext() {
return ctx;
}
}
これで、このメソッド getApplicationContext() によって applicationcontext オブジェクトを取得できます。
applicationcontext から、次のような Spring Bean オブジェクトを取得できます。
ApplicationContext appCtx = ApplicationContextUtils.getApplicationContext();
String strFromContext = appCtx.getBean(beanName, String.class);