IOC:思想是反转资源获取的方向。传统的资源查找方式要求组件向容器发起请求查找资源,作为回应,容器适时的返回资源。而应用了IOC之后,则是容器主动地将资源推送给它所管理的组件。组件所要做的仅仅是选择一种合适的方式来接收资源,这种查找方式也被称为查找的被动形式。
DI:IOC的另一种表述形式。即组件以一些预定义好的方式(例如:setter方法)接受来自如容器的资源注入。相对于IOC而言,这种表述更为直接。
举个例子:
需求,从容器中获取A的对象,并使B对象中的a属性被赋值为容器中A对象的引用。
class A{ } B{ private A a; public void setA(A a) { this.a = a; } }
传统的方式:
首先获取对象:A a = getA();B b = getB();
即我们要先获取所有的对象,然后将其中某个对象作为参数传给另一个对象。
使用IOC容器之后:
IOC容器内部会自动为我们建立其之间的关系,获取时我们只需要B b = getB()即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。