接上篇
公共切入点抽取
@Component // 增强类
@Aspect // 生成代理对象
public class UserProxy {
//抽取相同的切入点
@Pointcut(value = "execution(* com.day10.spring5.aopanno.User.add(..))")
public void pointdemo(){
}
// 前置通知
// value值写我们抽取出来的相同切入点的方法名
@Before(value = "pointdemo()")
public void before(){
System.out.println("before ......");
}
}
使用到公共切入点时,直接将方法名当做参数给注解的value
@Before(value="pointdemo()")
有多个增强类对同一个方法进行增强,设置增强类的优先级
@Component
@Aspect
@Order(1)//添加注解,数字越小,优先级越高
public class PersonProxy {
@Before(value = "execution(* com.qy.spring5.aopanno.User.add(..))")
public void before(){
System.out.println("Person before ......");
}
}