一:IOC简介:
1. 概念定义:
类之间的依赖关系,不再由类自己去负责,而是由容器根据配置文件去创建实例并维护各个实例之间的依赖关系。
2.优点:
(1):避免了代码的纠缠,(业务逻辑和业务逻辑无关的代码纠缠到一块)代码更容易被维护
(2):模块的耦合性降低
(3):易测试
二:Spring中实现IOC的方式:依赖注入(Dependency Injection)
1:Spring中依赖注入的两种方式:
(1):通过 setter 方法注入:
<property name=“ ” ></property>
其中,name属性的取值依setter方法名而定,要求这个类里面这个对应的属性必须有setter方法
(2):通过构造方法注入:
<constructor-arg index=””></ constructor-arg>
其中,index表示构造方法中的参数索引(第一个参数索引为0)
要求这个类里面必须有想对应的构造方法
2:二者使用区别:
constructor : 可以在构建对象的同时,把依赖关系也构建好。对象创建好就准备好的所有的资源。安全性高。
setter : 建立的对象关系(参数)很多。创建完对象之后再同过set()方法进行设定。
Spring 鼓励使用setter的方式注入。