摘要:
1.前面的例子中,都有使用到接口,说明是JDK动态代理 2.若目标类没有接口,使用的是cglib动态代理 3.有接口也可以使用cglib动态代理 <aop:aspectj-autoproxy proxy-target-class="true" /> 阅读全文
摘要:
当较多的通知增强方法使用相同的 execution 切入点表达式时,编写、维护均较为麻烦。 AspectJ 提供了@Pointcut 注解,用于定义 execution 切入点表达式。 其用法是,将@Pointcut 注解在一个方法之上,以后所有的 execution 的 value 属性值均 可使 阅读全文
摘要:
在目标方法执行之前之后执行。被注解为环绕增强的方法要有返回值,Object 类型。 并且方法可以包含一个 ProceedingJoinPoint 类型的参数。 接口 ProceedingJoinPoint 其有一个proceed()方法,用于执行目标方法。 若目标方法有返回值,则该方法的返回值就是目 阅读全文
摘要:
在目标方法执行之后执行。 由于是目标方法之后执行,所以可以获取到目标方法的返回值。 该注解的 returning 属性就是用于指定接收方法返回值的变量名的。 所以,被注解为后置通知的方法,除了可以包含 JoinPoint 参数外,还可以包含用于接收返回值的变量。 该变量最好为 Object 类型,因 阅读全文