- 概述
BeanPostProcessor[interface]是spring的后置处理器,在bean初始化前后进行一些初始化工作。postProcessBeforeInitialization在初始化之前工作 postProcessAfterInitialization在初始化之后工作
- Spring底层对BeanPostProcessor的使用
ApplicationContextAwareProcessor中使用
在spring类中需要使用到spring的上下文(ApplicationContext),只需要实现ApplicationContextAware,后置处理器会自动赋值public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { if (!(bean instanceof EnvironmentAware || bean instanceof EmbeddedValueResolverAware || bean instanceof ResourceLoaderAware || bean instanceof ApplicationEventPublisherAware || bean instanceof MessageSourceAware || bean instanceof ApplicationContextAware)){ return bean; } AccessControlContext acc = null; if (System.getSecurityManager() != null) { acc = this.applicationContext.getBeanFactory().getAccessControlContext(); } if (acc != null) { AccessController.doPrivileged((PrivilegedAction<Object>) () -> { invokeAwareInterfaces(bean); return null; }, acc); } else { invokeAwareInterfaces(bean); } return bean; }AutowiredAnnotationBeanPostProcessor自动装配中使用
最后
以上就是欣慰飞机最近收集整理的关于Spring后置处理器BeanPostProcessor的全部内容,更多相关Spring后置处理器BeanPostProcessor内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复