Spring的控制反转(IOC)和依赖注入(DI)具体解释java
首先介绍下(IOC)控制反转:ide
所谓控制反转就是应用自己不负责依赖对象的建立及维护,依赖对象的建立及维护是由外部容器负责的。这样控制器就有应用转移到了外部容器。控制权的转移就是反转
演示样例代码例如如下:this
public class PersonServiceBean{ private PersonDao personDao = new PersonDaoImpl(); public void save(Person person){ personDao.save(person); } }
对象的建立有外部负责。这就是一个IOC。 spa
(DI)依赖注入对象
依赖注入就是:程序执行期间。有外部容器动态的将依赖对象注入到组件中。
当咱们把依赖对象交给外部容器负责建立,那么PersonServiceBean类可以改为例如如下:
it
public class PersonServiceBean{ private PersonDao personDao; //经过构造器參数注入 //也可以经过setter方法进行注入 public PersonServiceBean(PersonDao personDao){ this.personDao = personDao; } public void save(Person person){ personDao.save(person); } }DI是在IOC的基础上产生的。