SpringIOC理解
Spring IOC 就是面向对象编程中的一种设计原则。
它是 依赖倒置原则的一种代码设计的思路,采用的方法就是依赖注入。
所谓依赖注入,就是把底层类作为参数传入上层类,实现上层类对下层类的“控制”!!!
控制反转(IOC):不是下层控制着上层,而是反转过来----> 上层控制下层。
控制反转容器:即对类进行初始化(new)的地方,就是控制反转容器。
IoC Container优势:
1、这个容器可以自动对你的代码进行初始化,只需要维护一个Configuration(可以是xml可以是一段代码),而不用每次初始化对象时候,都要亲手去写那一大段初始化的代码。
2、我们在创建实例的时候不需要了解其中的细节。
IOC的理论:它是借助于“第三方”实现具有依赖关系的对象之间的解耦。
所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。 创建对象的控制权进行转移,以前创建对象的主动权和创建时机是由自己把控,而现在这种权力转移到第三方。
实现原理:
通过反射机制+工厂模式实现的,在实例化一个类时,它通过反射调用类中set方法将事先保存在HashMap中的类属性注入到类中。
控制反转就是:获得依赖对象的方式反转。
1、依赖注入发生的时间
(1).用户第一次通过getBean方法向IoC容索要Bean时,IoC容器触发依赖注入。
(2).当用户在Bean定义资源中为<Bean>元素配置了lazy-init属性,即让容器在解析注册Bean定义时进行预实例化,触发依赖注入。
2.依赖注入实现在以下两个方法中:
(1).createBeanInstance:生成Bean所包含的java对象实例。
(2).populateBean :对Bean属性的依赖注入进行处理。

浙公网安备 33010602011771号