Spring的控制反转(IOC)和依赖注入(DI)具体解释

                                                 Spring的控制反转(IOC)和依赖注入(DI)具体解释

        首先介绍下(IOC)控制反转:

        所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制器就有应用转移到了外部容器。控制权的转移就是反转
        演示样例代码例如以下:

public class PersonServiceBean{

       private PersonDao personDao = new PersonDaoImpl();
       public void save(Person person){
	personDao.save(person);
      }
}

PersonDaoImpl是在应用内部创建和维护的。

对象的创建有外部负责。这就是一个IOC。



       (DI)依赖注入



依赖注入就是:程序执行期间。有外部容器动态的将依赖对象注入到组件中。

当我们把依赖对象交给外部容器负责创建,那么PersonServiceBean类能够改成例如以下:

public class PersonServiceBean{
    private PersonDao personDao;
    //通过构造器參数注入
    //也能够通过setter方法进行注入
        public PersonServiceBean(PersonDao personDao){
        this.personDao = personDao;

    }
    public void save(Person person){
        personDao.save(person);
    }
}

DI是在IOC的基础上产生的。




原文地址:https://www.cnblogs.com/cxchanpin/p/6978754.html