- 概述
BeanPostProcessor[interface]是spring的后置处理器,在bean初始化前后进行一些初始化工作。复制代码1
2postProcessBeforeInitialization在初始化之前工作 postProcessAfterInitialization在初始化之后工作 - Spring底层对BeanPostProcessor的使用
ApplicationContextAwareProcessor中使用
在spring类中需要使用到spring的上下文(ApplicationContext),只需要实现ApplicationContextAware,后置处理器会自动赋值复制代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21public 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; }
复制代码1AutowiredAnnotationBeanPostProcessor自动装配中使用复制代码1
最后
以上就是欣慰飞机最近收集整理的关于Spring后置处理器BeanPostProcessor的全部内容,更多相关Spring后置处理器BeanPostProcessor内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复