如何获取目标方法的参数:
需求:如果想获取目标方法的参数并且进行记录。
获取目标对象:
target(t) target目的就是获取目标对象
获取获取方法的上的注解:
需求:如何通过切入点表达式获取方法上的注解
切面注解
1-开启切面注解
2-定义切面——@Aspect
3.定义切入点——两种方式
1.空方法
*1*在切面创建一个空方法,并且加注解@Pointcut(value="切入点表达式")
@Pointcut(value="切入点表达式")
@Pointcut(value="切入点表达式") public void poincut(){}//空方法
*2*在通知注解中绑定切入点:
@Before(value="poincut()切入点空方法名")
2.在通知内部定义
@Before(value="execution()匹配表达式")
注意:该方式比较简单,使切入点只作用于该方法
4.定义通知
@Before //前置
@Around //环绕
@AfterReturning //后置
@AfterThrowing //异常
@After //最终
5.在注解中获取目标方法的参数
注意:在配置文件当中如果想获取参数那么必须添加 and,在注解中如果想获取参数必须添加&&
1-通过空方法获取参数:
2-在通知内部定义
说明:出特殊原因之外,建议使用内部定义的方式,该用法也是用的最多的。
6.后置通知返回值问题:
7.异常通知返回值问题