所谓IoC即控制反转,也可以叫DI依赖注入。何谓依赖注入?在一般的MVC模式开发设计中,在service层调用DAO层的对象时,会通过new来创建这个对象的实例,我们需要考虑到这个对象的构造器,如何获得这些对象的实例,这个时候,我们可以看成service层对象主动去向DAO层获取对象。
但是有了Spring提供的IoC这个载体后,我们在service层调用DAO层的对象时,我们只需要再service层的接口实现类中创建一个DAO层对象类型的属性(这个对象是DAO层的一个接口类),而这个属性我们可以通过SetBean方法获取(因此依赖注入也叫Set注入),我们不用考虑这个对象是如何生成的。在这个过程中,我们获取对象不再是主动的去请求这个对象,而是被动的得到这个对象。同时这个过程正完成了解耦的过程。
eg:
/**
*ITestDao.java:
*/
public Interface ITestDao{
public void test(String);
}
/**
*TestDao.java:
*/
public class TestDao implements ITestDao{
public void test(String);
}
/**
*TestService.java:
*/
public class TestService(){
private ITestDao iTestDao;
public void setITestDao(ITestDao iTestDao){//ITestDao iTestDao 为所注入的对象的实例
this.iTestDao=iTestDao;
}
public ITestDao getITestDao( ){
return this.iTestDao;
}
}