我是靠谱客的博主 欣慰飞机,这篇文章主要介绍Spring后置处理器BeanPostProcessor,现在分享给大家,希望可以做个参考。

  1. 概述
    BeanPostProcessor[interface]是spring的后置处理器,在bean初始化前后进行一些初始化工作。
    复制代码
    1
    2
    postProcessBeforeInitialization在初始化之前工作 postProcessAfterInitialization在初始化之后工作
  2. 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
    21
    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; }
     
    复制代码
    1
    AutowiredAnnotationBeanPostProcessor自动装配中使用
    复制代码
    1





     

最后

以上就是欣慰飞机最近收集整理的关于Spring后置处理器BeanPostProcessor的全部内容,更多相关Spring后置处理器BeanPostProcessor内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部