1. IOC与DI
IOC:Inversion of Control 这是一个很大的概念。
把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。
DI: Dependency Injection
IOC的一种实现方式。
2. IOC与DI联系
3. DI的理解
DI: 依赖注入。
依赖-----类(对象)之间的调用。
请看以下几个问题:
问题:为什么会产生依赖?
分层的设计理念(做web开发的应该都比较熟悉):便于开发和维护。
Dao--------->DaoImpl--------->Servie
DaoImpl实现Dao,Service层可以使用DaoImpl操作Entity,而非与直接实现Dao来操作Entity。
问题:如何在service层里面产生DaoImpl的对象?
方案一:直接new,弊端:耗费内存且生命周期不易控制;
方案二:由容器提供。优点:随用随取,不用考虑其生命周期的控制。
问题:如何由容器提供对象:
依赖注入。
具体实现:在xml文件中进行配置。
补充:
IOC与DI
原文:http://my.oschina.net/u/1989867/blog/529808