spring源码
spring 准备阶段做了什么? 1设置容器启动时间 * 2设置标志位 * 3获取环境对象 验证属性资源 * 4存储预刷新监听器和 事件的集合对象

 
 

进入obtainFreshBeanFactory

 
 
 
设置beanFactory 是否允许覆盖 与否允许bean之间存在循环依赖

创建beanFactory 往里面设置xml中的属性值
 
 
初始化beanFactory 往里面设置属性值

 
aware可以获取容器中的某些对象 因为这里还没有初始化完成 所以忽略 后面同一处理

接下来该走 增强器

 
//开始执行BFPP对象 里面是排序等操作

 
----------------------------------------------------------------
实例化之前的准备工作 先进行注册BPP 后面直接调用

 
 
可以广播事件 当监听器接收到广播事件之后 就可以执行对应的操作
 
留给子类做相关扩展工作

注册监听器

----------------------------------------------------
执行实例化操作


 
 
 

 
 
 
 
 
 

 


 
通过反射创建对象 反射是在运行足够多次数时才能体现性能低 1,2次没影响


查看构造器是否有参 有参调用有参构造器 无参则调用无参构造器
 
 
 
 
 
 
暴露的是实例化 但为初始化的操作

 

 
 
 
 
 
 
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号