您的位置:首页 > 编程语言 > Java开发

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

2014-10-08 10:33 791 查看
                                                 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的基础上产生的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息