AOP
1.创建类,在类里面定义方法
2.增强类,创建方法
3.进行通知配置
在spring配置文件中,开始注解扫描
<!--开启注解扫描-->
<context:component-scan base-package="com.fqqa.spring5AOP.aopnno"></context:component-scan>
使用注解创建User和UserProxy对象
在增强类添加注解@Aspect
在spring配置文件中开启生成代理对象
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
相同的切入点抽取
// 相同的切入点抽取
@Pointcut(value = "execution(* com.fqqa.spring5AOP.aopnno.User.add(..))")
public void pointDemo(){}
// 前置通知
@Before(value = "pointDemo()")
public void before(){
System.out.println("before.....");
}
有多个增强类在同一个方法进行增强,设置增强优先级
在增强类中上面添加注解@Order(数字类型值),数字类型值越小优先值越高
配置文件中也可以进行安排操作
AOP:面向切面编程,不通过修改源代码,在主干功能添加新功能
AOP底层使用动态代理
第一种有接口情况,使用JDK动态代理
第二种没有接口情况,使用CGLIB动态代理
浙公网安备 33010602011771号