Spring学习笔记之IOC与DI概述

一、IOC与DI

  • IOC(Inversion of Control):其思想是反转资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源. 作为回应, 容器适时的返回资源. 而应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件, 组件所要做的仅是选择一种合适的方式来接受资源. 这种行为也被称为查找的被动形式
  • DI(Dependency Injection) — IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如: setter 方法)接受来自如容器的资源注入. 相对于 IOC 而言,这种表述更直接

二、案例分析

1、需求

从容器中获取B对象,并使B对象的a属性被赋值为容器A对象的引用。

1683738663

class A{}
class B{
  	private A a;
	public void setA(A a){
		this.a = a;
	}
}

2、传统处理方式

1187592820
A a = getA();
B b = getB();
b.setA(a);

3、IOC反转资源方向

1497026610

B b = getB();

三、IOC发展历程

需求: 生成 HTML 或 PDF 格式的不同类型的报表.

1、IOC前生–分离接口与实现

269383126

2、IOC前生–采用工厂设计模式

2048962683

3、IOC–采用反转控制

1508913749

若未注明来源即为原创文章,本站使用“署名·非商业用途·保持一致”版权协议
转载请注明:
转载自老H博客
本文链接地址: Spring学习笔记之IOC与DI概述

共有 0 条评论

Top