zoukankan      html  css  js  c++  java
  • 46、[源码]-Spring容器创建-注册BeanPostProcessors

    46、[源码]-Spring容器创建-注册BeanPostProcessors

    6、registerBeanPostProcessors(beanFactory);注册BeanPostProcessor(Bean的后置处理器)【 intercept bean creation】
    • 不同接口类型的BeanPostProcessor;在Bean创建前后的执行时机是不一样的
    • BeanPostProcessor、
    • DestructionAwareBeanPostProcessor、
    • InstantiationAwareBeanPostProcessor、
    • SmartInstantiationAwareBeanPostProcessor、
    • MergedBeanDefinitionPostProcessor【internalPostProcessors】、
    1. 获取所有的 BeanPostProcessor;后置处理器都默认可以通过PriorityOrdered、Ordered接口来执行优先级
    2. 先注册PriorityOrdered优先级接口的BeanPostProcessor;
      把每一个BeanPostProcessor;添加到BeanFactory中
      beanFactory.addBeanPostProcessor(postProcessor);
    3. 再注册Ordered接口的
    4. 最后注册没有实现任何优先级接口的
    5. 最终注册MergedBeanDefinitionPostProcessor;
    6. 注册一个ApplicationListenerDetector;来在Bean创建完成后检查是否是ApplicationListener,如果是
      applicationContext.addApplicationListener((ApplicationListener<?>) bean);
  • 相关阅读:
    OC的内存管理(二)ARC
    OC中@class的使用
    OC的内存管理(一)
    OC中自定义构造方法
    【数据结构作业—01】用单循环链表解决约瑟夫问题
    TJU Problem 1090 City hall
    GPA
    HDOJ 1061 Rightmost Digit
    TJU Problem 2857 Digit Sorting
    TJU Problem 1015 Gridland
  • 原文地址:https://www.cnblogs.com/Grand-Jon/p/10073682.html
Copyright © 2011-2022 走看看