1.通过自定义注解完成 每个方法上添加该注解就可以使用该切面
//定义切点,注解作为切入点
@Pointcut("@annotation(com.xxxx.Log)")
public void selfRecordsPoinCut() {
}
/**
* before 目标方法执行前执行,前置通知
* after 目标方法执行后执行,后置通知
* after returning 目标方法返回时执行 ,后置返回通知
* after throwing 目标方法抛出异常时执行 异常通知
* around 在目标函数执行中执行,可控制目标函数是否执行,环绕通知
*/
@Before("selfRecordsPoinCut()")
public void before(){
log.info("before................通知");
}
@After("selfRecordsPoinCut()")
public void after(){
log.info("After................通知");
}
@AfterReturning("selfRecordsPoinCut()")
public void afterReturning(){
log.info("AfterReturning................通知");
}
@AfterThrowing("selfRecordsPoinCut()")
public void afterThrowing(){
log.info("AfterThrowing................通知&#