在配置AOP的时候, 在配置文件中配置切面方法为 <aop:after method="getLog"></aop:after>表示方法为getLog 但是这里的方法中不知道怎么定义参数如果切面类为 AA中包括了以下三个方法
getLog()
getLog(String a);
getLog(String a, int b);如果按照上面的配置,调用的肯定是没有参数的方法,但是如果我需要调用有参数的,应该怎么配置?
getLog()
getLog(String a);
getLog(String a, int b);如果按照上面的配置,调用的肯定是没有参数的方法,但是如果我需要调用有参数的,应该怎么配置?
二是它有个属性叫作arg-names
@Pointcut(value = "execution(返回值 方法的全路径从包开始(参数))")//如果你参数都想拦截变成 .. 就可以了、
@Pointcut(value = "execution(* cn.Test.TaskFoo(..))")
private void foo() {
} @After("foo()")
public void MyTask(JoinPoint joinpoint) throws Throwable {
int agrNumbs = joinpoint.getArgs().length;//获取全部参数个数
System.out.println(agrNumbs);
String a = (String) joinpoint.getArgs()[0];//获取第一个参数
System.out.println(a); //以下参数获取同理
//do something
}