springbean 和java对象得区别:

1.对象:任何符合java语法规则实例化出来的对象

2.springbean: 是spring对普通对象进行了封装为BeanDefinition,beanclass可以理解为是上面的对象,其他的是否加载、描述等都是spring新增的属性信息

springbean实例化流程:

ConfigurationClassPostProcessor

1、BeanDefinitionRegistryPostProcessor-------扫描带注解@Cxxx class 组装成  beanDefinition(springbean)放到--map

2、BeanFactoryPostProcessor----------------修改beanmap

先执行子类BeanDefinitionRegistryPostProcessor---先执行spring内部提供然后执行程序员自己的
先执行spring内部-----用的是自己把一个BeanDefinitionRegistryPostProcessor的实现类ConfigurationClassPostProcessor的bd放到map当中了;想要执行先得实例化----我先从容器当中拿;如果有直接执行;如果没有spring 传一个BeanDefinitionRegistryPostProcessor类型给容器;容器就会从map当中找---找到一个ConfigurationClassPostProcessor;

假设这个时候你提供了一个BeanDefinitionRegistryPostProcessor YY 程序员提供了

在执行父类BeanFactoryPostProcessor----先执行spring内部提供然后执行程序员自己的

spring会先执行内部的,再执行外部程序员实现接口重写的,至于spring怎么知道内部和外部实现,是因为在生成beanmap的时候spring会循环三次,根据不过的条件过滤,spring内部类在启动的时候就不初始化了到了beanmap中。

详细请参考路神:https://blog.csdn.net/java_lyvee/article/details/101793774

最新文章

  1. oracle---plsql---示例laobai
  2. poj3311 Hie with the Pie (状态压缩dp,旅行商)
  3. 多张图片,限制大小,格式.md
  4. WP_Image_Editor_Imagick 漏洞临时解决方法
  5. 学习总结 java连接数据库
  6. github 学习笔记【一】
  7. iOS开发——语法篇OC篇&高级语法精讲
  8. 正确使用TeamViewer VPN
  9. 从网页psd到html的开发
  10. mysql中如何更新一个字段的值为它本身的值连接上一个字符串
  11. Linux学习 -- 权限管理
  12. 打印ASCII码
  13. hadoop2-HBase的Java API操作
  14. Thread.currentThread()和this的区别——《Java多线程编程核心技术》
  15. h264_rtp打包解包类及实现demo
  16. Python--Django学习笔记2
  17. windows下配置lua环境
  18. nginx动静分离小示例
  19. Android Socket 知识点汇总
  20. Electron Browser加载iframe(webview src属性)

热门文章

  1. 02.快捷键及基本dos命令
  2. 1.Redis Lock
  3. <Win10开发>一些小知识。
  4. iphone手机卡顿解决方案
  5. 【译】Announcing Entity Framework Core 5.0 Preview 5
  6. 深入理解Java虚拟机学习笔记(三)-----类文件结构/虚拟机类加载机制
  7. JS中函数执行顺序的问题?
  8. maven依赖冲突以及解决方法
  9. 3、尚硅谷_SSM高级整合_使用ajax操作实现修改员工的功能
  10. java 虚拟机指令重新排序