IOC和DI结合的真正的意义:java代码端完全的面向接口编程,完全不用关心真正是实现哪一个类,让各个模块之间进行了解耦
举一个例子:
在封装一个jdbc操作的时候可以用上这个思想
public class CommonDao{
/*
在这里框架的开发者完全不用理会使用者用的是哪个实现
在这里dataSource是一个接口,
在使用者使用的时候,可以将真正的实现类在spring的配置文件中进行set方法注入
*/
DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
public void insert(){}
}