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);
  • 相关阅读:
    zookeeper实现主从选举
    基于Zookeeper+MHA的mysql高可用架构设计
    MHA实现MySQL主从自动在线切换功能
    redis 主从复制
    虚拟iP
    nginx 主从
    代码的快速操作
    网页延时加载
    ajax循环数据
    js实现网页中打印、刷新、关闭、前进、后退、返回等操作
  • 原文地址:https://www.cnblogs.com/Grand-Jon/p/10073682.html
Copyright © 2011-2022 走看看