欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring AOP(注解开发)

程序员文章站 2022-07-12 23:21:04
...

基于Aspect实现AOP(注解)

首先在配置文件中开启aop自动代理

<aop:aspectj-autoproxy/>

然后在增强类中编写注解

@Aspect
public class MyBook {    
    @Before(value = "execution(* aop.Book.*(..))")    
    public void before1(){        
        System.out.println("前置增强.......");    
    }    
    /**
    *
    * @param proceedingJoinPoint 用此调用被环绕的对象     
    */    
    @Around(value = "execution(* aop.Book.*(..))")    
    public void around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {        
        //方法之前        
        System.out.println("方法之前。。。。。。。");        
        //抛出异常        
        proceedingJoinPoint.proceed();        
        //方法之后        
        System.out.println("方法之后........");    
    }
}

@AspectJ提供不同的通知类型

  • @Before前置通知,相当于BeforeAdvice
  • @AfterReturning后置通知,相当于AfterReturningAdvice
  • @Around 环绕通知,相当于MethodIntercepetor
  • @AfterThrowing抛出通知,相当于ThrowAdvice
  • @After 最终final通知,不管是否异常,该通知都会执行