简单理解IOC和DI
来源:互联网 发布:python生成随机50个数 编辑:程序博客网 时间:2024/06/08 14:51
(一)IOC(Inversion of Control):控制反转
Spring的IOC容器获得控制权。
(1)在类内部不为对象a赋值
public class A { public void print(){ System.out.println("hello"); }}
public class B { private A a; public void print(){ a.print();//a为null,调用该方法会有空指针异常 //因此必须为属性a赋值,那么怎么赋值呢? }}
(2)在类内部为对象a赋值
public class B { private A a=new A();//由类本身控制对象a,控制权在自己手上 public void print(){ a.print(); }}
(3)在类外部为对象a赋值(需要set方法)
public class B { private A a; public void setA(A a) { this.a = a; } public void print(){ a.print(); }}
public class Main { public static void main(String[] args) { A a=new A(); B b=new B(); b.setA(a);//在类外部为属性a注入值,控制权被交出来了 b.print(); }}
(4)在Spring框架中,Spring的IOC容器获取控制权,即控制权反转给IOC容器了。
由IOC容器调用set方法为对象属性注入值。
(5)IOC容器为依赖对象注值有2种方式:调用set方法;注解注入。后续讲解
(二)DI(Dependency Injection):依赖注入,DI是IOC的另一种表述
(1)DI是IOC的另一种表述,IOC和DI说明的是同一件事物。
(2)容器为我注入依赖对象,而不是我自己去注入依赖对象。即由IOC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找。
(3)我们依赖容器获取资源,容器把资源给我们。
(4)相对于IOC而言,DI的表述更容易被理解
阅读全文
0 0
- 简单理解IOC和DI
- Spring简单理解IOC和DI
- 简单理解IoC与DI
- 理解Spring的AOP和Ioc/DI就这么简单
- 如何理解IoC和DI
- spring ioc和DI理解
- IOC和DI本质理解
- sprign DI和IOC理解
- IOC和DI本质理解
- Spring-3,IOC&DI的简单理解
- 对IOC和DI的理解
- 对IOC和DI的理解
- 对ioc和di的理解
- 关于IOC和DI的理解
- 如何理解Spring的IoC和DI
- 关于IOC和DI的理解
- 对ioc和di的理解
- Spring的IoC DI和AOP理解
- Meta http-equiv 属性用法
- faad2解码aac到pcm (采样频率和通道数问题)
- <asp: DropDownList>实现事件处理
- 斯坦福机器学习笔记1:GDA高斯判别分析算法的原理及matlab程序实现
- java中1~100手尾相加计算和
- 简单理解IOC和DI
- impala-shell导入导出
- Repeater嵌套总结
- 谈谈Unity对于手柄的支持
- 暗时间
- 石子合并(一)
- ssh项目中逐渐用到的标签
- 如何做好数据分析?
- jenkins远程服务器发布