AOP概念
1.面向切面编程,利用AOP对业务逻辑各部分隔离,使各业务逻辑耦合度降低,提高程序的可重用性,提高开发效率。(不修改源代码在主干功能里面添加新功能)
AOP底层原理
AOP底层使用动态代理
1.有接口,使用jdk动态代理
2.没有接口,使用CGLIB动态代理
AOP操作术语
1.连接点
类里面可以被增强的方法称为连接点
2.切入点
实际被增强的方法被称为切入点
3.通知
(1)实际增强的逻辑部分被称为通知(增强)
(2)通知有多种类型
*前置通知
*后置通知
*环绕通知
*异常通知
*最终通知
4.切面
(1)把通知应用到切入点的过程称为切面
AOP操作(准备)
1.Spring框架一般都是基于AspectJ实现AOP操作
AspectJ不是Spring组成部分,独立AOP框架。把AspectJ和Spring框架一起使用进行AOP操作
2.基于AspectJ实现AOP操作
基于注解方式实现,很少基于xml配置文件实现
进行通知的配置
(1)在spring配置文件中开启注解扫描
(2)使用注解创建User和UserProxy对象
(3)在增强类上面添加注解@Aspect
相同切入点抽取
设置增强类优先级