控制反转(IOC)和依赖注入(DI)
来源:互联网 发布:java正则表达式是什么 编辑:程序博客网 时间:2024/06/06 13:18
用过spring的人都知道,spring的核心是IOC和AOP。IOC,即控制反转不是什么技术,而是像gof一样,是一种设计模式。
一、传统的程序设计
public class carServiceImpl{
private CarDao carDao = new CarDao();
public void getCarInfo(){
carDao.getCarInfo();
}
}
传统的java程序设计中,CarDao这种依赖对象资源的创建和维护在carServiceImpl内部来做的。这样的话势必会造成各个组件模块之间的高耦合。
二、 利用IOC模式后
public class carServiceImpl{
private CarDao carDao;
public CarDao getCarDao() {
return carDao;
}
public void setCarDao(CarDao carDao) {
this.carDao = carDao;
}
public void getCarInfo(){
carDao.getCarInfo();
}
}
IOC模式的程序设计中,我们把依赖对象交给IOC容器来创建和维护,然后把IOC容器创建好的依赖对象注入到carServiceImpl中,这样依赖对象的控制权就发生了反转,从对象内部反转到了容器来控制。
三、优点
1)传统的程序设计,是在对象内部直接去创建依赖对象,叫做正转,使用IOC后,把依赖对象的控制权交给第三方(即IOC容器来控制)来控制,控制权发生了反转。
2)IOC控制反转能够降低组件模块之间的耦合度。
3)其实IOC容器可以说是一个中介,以前是自己直接去创建和维护依赖对象,现在改为从IOC容器来获取这些依赖对象。
四、依赖注入(DI)
IOC容器的重点是在系统运行期间,把一个对象所依赖的其他对象动态的注入到该对象中去,这一点就是通过 DI 来实现的,依赖注入是通过反射机制实现的。
- IOC(控制反转) DI(依赖注入)
- IoC(控制反转)和DI(依赖注入)
- 解构控制反转(IoC)和依赖注入(DI)
- 控制反转(IoC)和依赖注入(DI)
- ioc(控制的反转) 和di(依赖注入)
- Spring IOC(控制反转)和DI(依赖注入)
- 控制反转(IOC)和依赖注入(DI)
- 依赖注入(DI) 和 控制反转(IoC)
- PHP控制反转(IOC)和依赖注入(DI)
- 控制反转(IOc)和依赖注入(DI)
- 依赖注入(DI)和控制反转(IOC)
- PHP控制反转(IOC)和依赖注入(DI)
- IoC(控制反转)和DI(依赖注入)
- 依赖注入(DI)和控制反转(IOC)
- (3.1.5)IOC控制反转和DI依赖注入
- 控制反转与依赖注入(IOC和DI)
- 控制反转IOC和依赖注入DI
- 控制反转IOC和依赖注入DI
- Android耗电统计算法
- 摄像头基础
- samba在linux之间共享文件挂载报错
- JS设计模式一:单例模式
- Http Content-type对照表
- 控制反转(IOC)和依赖注入(DI)
- js之事件冒泡和事件捕获详细介绍
- 浅谈Java中的Set、List、Map的区别
- getResource中文或有空格路径处理
- Mac使用ssh无密码登录Ubuntu
- css一些笔记
- 山东省第七届ACM省赛 Swiss-system tournament
- maven-bundle-plugin
- Bit操作整理