- 浅谈IOC
- IOC理论的背景
- 依赖注入(DI)
- IOC的好处
- IOC的通俗理解
浅谈IOC
IOC(Inversion of Control,控制反转)是spring的核心,贯穿始终。所谓IOC,对spring框架来说,就是由spring来控制对象的生命周期和对象间的依赖关系。
传统模式:对象间的依赖关系由对象自己控制,代码耦合度高。
IOC开发模式:对象间的依赖关系由spring容器来控制,解耦。
IOC理论的背景
DI,依赖注入
IOC还有一个名字,叫DI(Dependency Injection),所谓依赖注入,就是在IOC容器运行期间,动态的将某种依赖关系注入到对象中。所以,依赖注入和控制反转是从不同的角度描述的一件事情,就是指通过引入IOC容器,利用依赖关系注入的方式,实现对象间的解耦。
IOC的好处
IOC在编程过程中不会对业务对象构成很强的侵入性,使用IOC可以使对象具有更好的可实行性,复用性和可扩展性:
- 解耦
- 提升开发效率和代码质量
- 统一标准,提高模块的复用
- 模块具有热插拔性
IOC的通俗理解
IOC控制反转:创建对象的实例的控制权从代码中剥离到ioc容器,实际上就是配置文件或者注解来控制,侧重于原理。
DI依赖注入:说的是创建对象实例,对这个对象注入属性值或其他对象实例,侧重于实现。
Spring之AOP
- 什么是AOP
- AOP的存在价值
- AOP的原理剖析
- AOP的关键概念
- AOP的通俗理解
什么是AOP
- 基本概念
- AOP与OOP的关系
- AOP的主要功能
- AOP的主要意图
AOP的存在价值
AOP专门用于处理系统中分布于各个模块中的交叉关注的问题,在JavaEE应用中,经常通过AOP来处理具有横切性质的系统级服务,如果事务管理,安全检查,日志记录,缓存,对象池管理等,AOP已经成为一种非常常用的解决方案。
AOP原理剖析
AOP代理其实是由AOP框架生成的一个代理对象,该对象可以作为目标对象使用,原理图如下:
(Aspect Oriented Programming)
AOP的关键概念
以下是官方文档所给出的AOP的关键概念的解释:
- 切面 - Aspect
- 连接点 - Join Point
- 通知 - Advice
- 切入点 - Point Cut
- 引入 - Introduction
- 目标对象 - Target Object
- AOP代理 - AOP Proxy
- 织入 - Weaving
AOP的通俗理解
AOP通俗的理解:
一个组件A,不关心其他常用的服务组件B,但是这个组件A使用组件B的时候,不是组件A自身去调用,而是通过配置等其他方式,比如Spring中可以通过xml配置文件。这样就使得A压根就不需要知道服务组件B是怎样的,爱存在不存在,爱怎么存在都与A无关。A只关心自己的业务逻辑,具体A使用B的时候,配置文件去做,与具体的A组件无关。