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/essay/83809.html