首页 > 代码库 > Spring的控制反转(IOC)和依赖注入(DI)详解
Spring的控制反转(IOC)和依赖注入(DI)详解
Spring的控制反转(IOC)和依赖注入(DI)详解
首先介绍下(IOC)控制反转:
所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制器就有应用转移到了外部容器,控制权的转移就是反转
示例代码如下:
public class PersonServiceBean{ private PersonDao personDao = new <strong><span style="color:#FF0000;">PersonDaoImpl</span></strong>(); 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的基础上产生的。
Spring的控制反转(IOC)和依赖注入(DI)详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。