美文网首页
基于注解的aop实现

基于注解的aop实现

作者: 充满智慧的白痴 | 来源:发表于2019-12-30 10:29 被阅读0次

注解支持

<aop:aspectj-autoproxy/>

// 切面类
package org.xyz;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.annotation.Aspect;
@Aspect
public class AspectModule {
      // 在切面类中使用pointcut对切面方法进行修饰
      @Pointcut("execution(* com.xyz.myapp.service.*.*(..))") // expression 
      private void businessService() {}  // signature
      @Pointcut("execution(* com.tutorialspoint.Student.getName(..))") 
      private void getname() {}
      // 如果你已经在xml中配置了一个pointcut切点,则可以使用下面这些执行注解
      @Before("businessService()")
      public void doBeforeTask(){
         ...
      }
      @After("businessService()")
      public void doAfterTask(){
       ...
      }
      @AfterReturning(pointcut = "businessService()", returning="retVal")
       public void doAfterReturnningTask(Object retVal){
        // you can intercept retVal here.
      ...
      }
    @AfterThrowing(pointcut = "businessService()", throwing="ex")
    public void doAfterThrowingTask(Exception ex){
    // you can intercept thrown exception here.
    ...
    }
    @Around("businessService()")
    public void doAroundTask(){
     ...
    }
}


相关文章

网友评论

      本文标题:基于注解的aop实现

      本文链接:https://www.haomeiwen.com/subject/cxpcpctx.html