一、Spring AOP
1.什么是Spring AOP
- Spring AOP - Aspect Oriented Programming 面向切面编程
- AOP 的做法是通用、与业务无关的功能抽象封装成切面类
- 切面可配置在目标方法执行前、后运行,真正在做即插即用
总结:在不修改源码的情况下对程序行为进行扩展
二、AOP关键概念
1.Spring AOP与AspectJ的关系
- Eclipse AspectJ,一种基于Java平台的面向切面的编程的语言
- Spring AOP 使用AspectJWeaver实现与方法匹配
- Spring AOP利用代理模式实现对象运行时功能扩展
2.Spring AOP的关键概念
注解 | 说明 |
---|---|
Aspect | 切面,具体的可插拔组件功能类,通常一个切面只实现一个通用功能 |
Target Class/Method | 目标类、目标方法,指真正要执行与业务相关的方法 |
PointCut | 切入点,使用execution表达式说明切面要作用在系统的哪些类上 |
JoinPoint | 连接点,切面运行过程中是包含了目标类/方法元数据的对象 |
Advice | 通知,说明具体的切面的执行时机,Spring包含了五种不同类型通知 |
3.AOP 配置过程
- 下载依赖AspectJ
- 实现切面类/方法
- 配置Aspect Bean
- 定义PointCut
- 配置Advice