BEAN管理
学习SPRING的同学对IOC和DI一定不陌生,这篇文章记录了我对IOC和DI当下的一些理解(新手同学们学习还是以官方文档或成熟教程为主,目前理解有限,本文章有误导风险)。
在我看来IOC和DI可以放在一起理解,因为他们本质上可以看做一个东西。
IOC
控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。1 百度百科关于IOC的解释
翻译成人话大概是,我们创建一个类似对象分配中心的功能模块,以后创建对象这活就不要自己干了(通过new的方法),通过配置(xml)去获取就好了。
DI
IOC是一个方法论,而DI就是具体实现的手段。如果类里依赖其他对象,我们可以通过NEW的方法来创建一个类(非DI方法),用DI的手法,我们可以动态地分配依赖关系。
IOC&&DI好处
目前我能理解的好处就是,减少类间依赖,便于热插拔。
BEAN装配方式
可以采用XML,annotation方式装配,我个人比较推荐的是annotation方式装配。
XML装配
XML装配在上文aop和DI中有涉及,了解一下就行。
@Annotation装配
步骤1.在XML里开启组件扫描
步骤2.
@Repository
在需要装配的BEAN注册为BEAN。
步骤3.
@Resource
引入注册的BEAN
AOP
定义
面向行为(英语:Action oriented programming, 缩写:AOP),指一种程序设计范型,同时也是一种程序架构模式。1百度百科关于AOP的解释