在开发过程中,当我们需要动态的获取某个注册到Spring容器中的Bean时,可以自定义一个类来实现ApplicationContextAware接口,来获取ApplicationContext。
@Component
public class SpringContextUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
/**
* 实现ApplicationContextAware接口的方法
*/
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
SpringContextUtil.applicationContext = applicationContext;
}
/**
* 通过get方法提供ApplicationContext
*/
public static ApplicationContext
getApplicationContext() {
return applicationContext;
}
}