一、什么是AOP:面向切面编程。通俗描述:不修改源代码,在主干功能里面添加新功能。
二、准备工作
三、底层原理:动态代理
(1)创建接口实现类代理对象,增强类的方法
(2)创建子类的代理对象,增强类的方法
四、术语
(1)连接点:类里面哪些方法可以被增强,这些方法称为连接点
(2)切入点:实际被真正增强的方法
(3)通知(增强):实际增强的逻辑部分
类型:①前置通知②后置通知③环绕通知④异常通知⑤最终通知
(4)切面:把通知应用到切入点过程
五、切入点表达式
(1)切入点表达式作用:知道对哪个类里面的哪个方法进行增强
(2)语法结构
①execution([权限修饰符][返回值类型][类全路径][方法名称][参数列表])。返回值类型可以不写,但是要留空格。*表示全部
六、注解方式实现
(1)创建类,在类里面定义方法
(2)创建增强类(编写增强逻辑)
(3)进行通知的配置
①在Spring配置文件中,开始注解扫描
②使用注解创建被增强类和增强类
③在增强类上面添加注解@Aspect
④在Spring配置文件中开启生成代理对象
(4)配置不同类型的通知
①在增强类的里面,在作为通知方法上面添加通知类型注解,使用切入点表达式配置
(5)有多个增强类多同一个方法进行增强,设置增强类优先级
①在增强类上面添加注解@Order(数字类型值),数字类型值越小优先级越高
七、配置文件方式实现