核心概念:
- 连接点(JoinPoint):程序执行过程中的任意位置,粒度为执行方法,抛出异常,设置变量等
在SpringAOP中理解为方法运行 - 切入点(PointCut):匹配连接点的式子
在SpringAOP中,一个切入点可以只描述一个具体方法,也可以匹配多个方法 - 通知(Advice):在切入点处执行的操作,也就是共性的功能
在SpringAOP中,功能最终以方法的形式呈现 - 通知类:定义通知的类
- 切面(Aspect):描述通知与切入点的对应关系
案例思路:
导入坐标(导入aspect坐标,context坐标中已经包含AOP坐标)
定义dao接口与实现类
定义通知类,制作通知
定义通知类受Spring容器管理,并定义当前类为切面类
定义切入点
绑定切入点与通知关系,并指定通知添加到原始连接点的具体执行位置
绑定关系
开启Spring对AOP注解驱动支持
AOP工作流程
AOP核心概念
目标对象(Target):原始功能去掉共性功能对应的类产生的对象。这种对象是无法直接完成最终工作的
代理(Proxy):目标对象无法直接完成工作,需要对其进行功能回填,通过原始对象的代理对象实现
AOP切入点表达式
通配符
AOP表达式的书写技巧:
AOP五种通知类型
前置通知
后置通知
环绕通知
介绍
注意事项
Around可以理解为高级的过滤器,可以选择去执行主方法体
标准写法:
万次执行
AOP获取数据
获取方法
百度网盘去除空格案例
Dao与Service实现类
Advice中AOP代码
App中代码实现
AOP总结: