spring AOP注解开发

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/weixin_43014205/article/details/86541026

第一步:在配置文件中开启AOP注解

   <!--配置开启aop注解-->
        <aop:aspectj-autoproxy/>

第二步,在切面类上配置切面标签,

并在切面类中的方法上贴上通知标签

注解AOP通知类型

(1)@Before   前置通知

@Before(value = "execution(* com.itlike.demo1.GoodsDaoImpl.save(..))")
    public void log(){
        System.out.println("日志输出");
    }

(2)@AfterReturning 后置通知

        (2.1)没有返回值

        (2.2)有返回值

@Aspect
public class GoodsDaoAspect {
    @AfterReturning(value = "execution(* com.itlike.demo1.GoodsDaoImpl.update(..)))",returning = "res")
    public void afterreturning(Object res){
        System.out.println("后置通知"+res);
    }
}

(3)@Around   环绕通知

@Aspect
public class GoodsDaoAspect {
    @Around(value = "execution(* com.itlike.demo1.GoodsDaoImpl.delete(..))")
    public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
        System.out.println("delete之前");
        Object proceed = joinPoint.proceed();
        System.out.println("delete之后");
        return proceed;
    }
}

(4)@AfterThrowing   异常抛出通知

(5)@After   最终通知

猜你喜欢

转载自blog.csdn.net/weixin_43014205/article/details/86541026