Spring- 第二章
Spring-AOP 代理,增强
目标类 + 额外功能 = 代理类
比如:日志处理/事务处理/异常处理/性能分析…Redis 非关系型数据
1. 通过spring AOP的代理功能,给代码增加额外的通用功能
2. 业务逻辑就专心的处理实际需求,通用的增强功能独立出来
3. 代理的专业术语
额外功能叫 增强
目标类叫 切入点 或 切面
将增强 加入到 切入点,叫编织
AOP是面向切面编程的一种实现
AOP步骤:
1. 导包
2. 书写一个增强类(前置为例)
3. 配置增强类的bean
4. 配置AOP的编织功能 写接口的包路径
1: 通配接口或者普通方法
2: 包名
3: 类名
4: 方法名
5: 参数
-----
增强方式4种:
1. 前置增强,在核心功能之前执行的额外功能
2. 后置增强,在核心功能之后执行的额外功能
3. 异常增强,在核心功能发生异常时执行的额外功能
4. 环绕增强,在核心功能之前以及之后执行的额外功能
AOP实例 – 环绕增强日志记录
需求:记录商品的service层的日志操作,到数据库
1. 创建商品日志记录表 Product_Log
2. 完成日志记录表的插入逻辑
3. 环绕增强搜集日志记录参数,并测试
4. 环绕增强调用日志记录表的插入逻辑,完成日志记录功能
注意:需要采用Spring IOC 模式,加载bean
AOP注解
可以灵活的定义哪个具体的方法实现增强功能
1. 写一个软 接口 创建或自定义一个注解
@AnnotationLog
2. 增强类照常写
3. 修改切入点
原文 https://www.maiyewang.com/archives/93790