public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
if (bean instanceof ResourceLoaderAware) {
((ResourceLoaderAware) bean).setResourceLoader(this.applicationContext);
}
if (bean instanceof ApplicationEventPublisherAware) {
((ApplicationEventPublisherAware) bean).setApplicationEventPublisher(this.applicationContext);
}
if (bean instanceof MessageSourceAware) {
((MessageSourceAware) bean).setMessageSource(this.applicationContext);
}
if (bean instanceof ApplicationContextAware) {
((ApplicationContextAware) bean).setApplicationContext(this.applicationContext);
}
return bean;
}这个方法是定义在ApplicationContextAwareProcessor中的,一般都会注入到BeanFactory中。
从上面可以看出想要拿到ApplicationContext的方法就比较多了,看需要吧。
本文介绍了一个定义在ApplicationContextAwareProcessor中的方法postProcessBeforeInitialization,该方法用于处理Bean的初始化前操作,包括将ApplicationContext注入到实现特定接口的Bean中。通过这个过程,Bean可以获得Spring上下文中的资源加载器、事件发布器等组件。
7260

被折叠的 条评论
为什么被折叠?



