40、扩展原理-BeanDefinitionRegistryPostProcessor

  • BeanDefinitionRegistryPostProcessor extends BeanFactoryPostProcessor
  • postProcessBeanDefinitionRegistry();
  • 在所有bean定义信息将要被加载,bean实例还未创建的;
  • 优先于BeanFactoryPostProcessor执行;
  • 利用BeanDefinitionRegistryPostProcessor给容器中再额外添加一些组件;

原理

1)、ioc创建对象
2)、refresh()-》invokeBeanFactoryPostProcessors(beanFactory);
3)、从容器中获取到所有的BeanDefinitionRegistryPostProcessor组件。
1、依次触发所有的postProcessBeanDefinitionRegistry()方法
2、再来触发postProcessBeanFactory()方法BeanFactoryPostProcessor;
4)、再来从容器中找到BeanFactoryPostProcessor组件;然后依次触发postProcessBeanFactory()方法

最新文章

  1. Atitit Atitit.软件兼容性原理----------API兼容 Qa7
  2. 【转】以 java 为例,总结下 appium 里的一方法的使用心得
  3. Oracle数据库入门——pctfree和pctused详解
  4. selenium如何解决IE自动填充表单问题
  5. linux shell expr 使用
  6. PageValidate 类
  7. WCF发布后远程访问的域名解析问题
  8. 沼跃鱼早已看穿了一切 C/C++
  9. 你知道为什么Xcode6中Swift没有智能提示和自己主动补全功能吗 ?
  10. StackExchange.Redis 使用 (一)
  11. 网络编程:I/O复用
  12. Javasript 正则匹配任意字符
  13. 改造kindeditor支持asp.net core mvc上传文件
  14. 基于网络编程 TCP协议 及 socket 基本语法
  15. python之进程和线程3
  16. Oracle课程档案,第七天
  17. Python之网络编程(Socket)
  18. (Java)怎么去掉字符串数组中重复的值?
  19. AI学习经验总结
  20. vue-router填坑之路

热门文章

  1. 机器学习-HMM隐马尔可夫模型-笔记
  2. 【Leetcode】53. Maximum Subarray
  3. vue-cli3+mand-mobile svg 配置
  4. mouseenter 与 mouseover 区别于选择
  5. Java8新特性 - Java内置的四大核心函数式接口
  6. @objc
  7. 【转载】Request对象的作用以及常见属性
  8. vue-cli 运行打开浏览器
  9. 《Python编程:从入门到实践》第三章 列表简介 习题答案
  10. JSON【1】