NO.1 spring3.2学习之IOC,DI的认识
spring吧
全部回复
仅看楼主
level 3
虚之源 楼主
IOC - Inversion of control,即“控制反转”,不是什么技术,而是一种设计思想。在java开发中,IOC意味着将你设计好的对象交给容器管理,而不是传统的在你的对象内部直接控制。理解IOC的关键是要明确:“谁控制谁,控制了什么?神马是反转,哪些方面反转了?”
(1)谁控制谁,控制了什么:传统javaSE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去主动创建以来对象;而IOC是有专门的一个容器来创建这些对象,即由IOC容器来控制对象的创建;谁控制谁?当然是IOC容器控制了对象;控制了什么?主要是控制了外部资源的获取。
(2)神马是反转,哪些方面反转了:有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转。而反转则是由容器来帮忙创建及注入依赖对象;神马是反转?由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,即为反转;哪些方面反转了?依赖对象的获取被反转了,即从以前的A a = new A()获取,变成了,由IOC容器去提供,我们在代码中不再使用new去获取对象了。这就是反转。
2014年01月25日 14点01分 1
level 3
虚之源 楼主
DI - Dependency Injection,即“依赖注入”:是组件之间依赖关系由容器在运行期决定,即由容器动态的将某个依赖对象注入到组件中。依赖注入的目的并非为软件系统带来更多的功能,而是为了提升组件的重用频率,并为系统搭建一个灵活可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关系具体的资源来自何处,由谁实现。理解DI的关键是:“谁依赖谁,为什么需要依赖?谁注入谁?注入了神马?”
(1)谁依赖谁:对象依赖于容器
(2)为什么需要依赖:容器管理对象需要IOC容器来提供对象对象的外部资源
(3)谁注入谁:IOC容器注入某个对象,也就是注入“依赖对象”
(4)注入了神马:注入了某个对象所需要的外部资源(包括对象,资源,数据)
2014年01月25日 14点01分 2
level 8
你的jar包多大?
2014年01月27日 07点01分 3
神马jar包??我是边学习边记录的
2014年01月27日 10点01分
回复 虚之源 :你的支持包啊
2014年01月28日 01点01分
1