SpringFramework之IOC

简介:

IOC【Inversion of Control】控制反转:一种设计思想,由容器将设计好的对象交给容器控制,而非对象内部直接new。

实现原理:

反射和工厂模式:反射 通过对象的描述信息生产出完整的对象,工厂模式 松耦合获取Bean对象。

加载过程:

        xml | 注解 | java类

概念状态----定义状态

        实例化容器上下文对象 ApplicationContext | AnnotationConfigApplicationContext;

        调用Bean工厂后置处理器完成扫描;

        循环解析扫描出来的类信息;

        实例化BeanDefinition对象存储解析出来的类信息;

        把实例化好的BeanDefinition对象put到BeanDefinitionMap当中缓存,以便后面实例化Bean;

        再次调用其他Bean工厂后置处理器;

定义状态----纯净状态

        加工类信息 BeanFactoryPostProcessor

        遍历所有扫描出来的类信息进行验证;并判断是否Lazy|Prototype|abstract等。        

        实例化对象【并不是完整的Bean】

纯净状态---成熟状态

        处理合并后的BeanDefinition

        判断是否需要属性注入

        如果需要就开始注入属性

初始化

        判断bean的类型回调Aware接口

        调用生命周期回调方法 

        需要代理就完成代理 AOP

创建完成

        put到单例池

        bean完成

        存在spring容器种

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值