Spring4——基于注解形式的aop实现、基于Schema形式的aop实现
2021-05-07 19:28
标签:形式 entity schema style imp ati scan component 注意 使用@Componet注解需要扫描器。 注意:扫描器会将指定包中的@Componet, @Service, @Respository, @Controller 修饰的类产生的对象添加到xml中。 *若报错:IllegalArgumentException: 参数异常。 *注解形式异常通知,若想捕获指定的异常,则用第二个参数e Spring4——基于注解形式的aop实现、基于Schema形式的aop实现 标签:形式 entity schema style imp ati scan component 注意 原文地址:https://www.cnblogs.com/ghlz/p/13181928.html
//给予注解实现aop
//加此注解后此类是通知
@Aspect
public class LogAspectAnnotation {
//添加注解使得方法变成前置通知方法
@Before("execution(public * addStudent(..))") //属性:定义切点
public void logBeforeAnno(){
System.out.println("注解形式【前置通知】...");
}
//注解实现后置通知
@AfterReturning("execution(public * addStudent(..))") //属性:定义切点
public void logAfterAnno(){
System.out.println("注解形式【后置通知】...");
}
}
//注解实现后置通知
@AfterReturning(pointcut = "execution(public * org.ghl.service.impl.StudentServiceImpl.addStudent(..))",returning = "returningValue") //属性:定义切点
public void logAfterAnno(JoinPoint jp,Object returningValue){
System.out.println("注解形式【后置通知】...:目标对象:"+jp.getTarget()+",方法名:"+jp.getSignature().getName()+",参数列表:"+ Arrays.toString(jp.getArgs())+",返回值:"+returningValue);
}
//异常通知,若想捕获指定的异常,则用第二个参数
@AfterThrowing(value = "execution(public * org.ghl.service.impl.StudentServiceImpl.addStudent(..))",throwing = "e")
public void logExceptionAnno(JoinPoint jp,NullPointerException e){
System.out.println("《注解形式【异常通知】》:e:"+e.getMessage());
}
下一篇:php常用四种算法
文章标题:Spring4——基于注解形式的aop实现、基于Schema形式的aop实现
文章链接:http://soscw.com/index.php/essay/83809.html