很久没回来更博了,前阵子琐事多人又比较烦躁,就没过来.今天又空就回来写写的东西,今天打算浅淡一下spring核心技术:(控制反转)IOC和(依赖反转)DI.以个人的经历来看,只要你去面试并且你使用过spring, ,都会问你spring的核心技术,这里就不再一一介绍spring是什么和spring好处了,就谈谈个人对spring核心技术的理解:
一、IOC和DI
IOC即控制反转,顾名思义就是控制权与传统的方式不同,发生了变化,这里由spring替你管理创建相应的对象,即由Ioc容器帮对象找到相应依赖的对象并注入,而不是向传统的方式由对象主动去找,IOC容器就是一个对象制造工厂,你需要什么,它会给你送去,你直接使用就行了, 而再也不用去关心你所用的东西是如何制成的,也不用关心最后是怎么被销毁的,这一切全部由IOC容器包办。
DI即依赖注入:组件这一件的依赖关系由容器在运行期决定,即由spring容器动态注入依赖到组件中。
其中控制反转和依赖注入是同一个东西在不同的角度进行分析,然而这二者主要作用就是帮应用程序提供相应需要的外部资源。在一个项目开发中我们需要把bean都放在spring中管理,我们是需要告诉spring我们什么时候使用需要这些bean,而具体的创建注入都是由spring容器帮我们实现的,即通过控制反转和依赖注入,实现都是基于反射机制来实现的。
二、AOP
这里把spring的另一个核心技术AOP也解析下,当然也是个人的见解。AOP即面向切面编程,可以说是面向对象编程的一种升级版吧,在spring中一般都是使用AOP来进行管理实务。