• 【sping揭秘】15、afterreturning


    @afterreturning

    我们同理写几个测试类

    package cn.cutter.start.bean;
    
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.springframework.stereotype.Component;
    
    @Component
    public class AterReturningTestBean {
    
        private static final Log logger = LogFactory.getLog(AterReturningTestBean.class);
    
        public void aterReturningTest() {
            logger.info("aterReturningTest sds");
        }
        
        public int aterReturningTestInt() {
            logger.info("aterReturningTestInt");
            
            return 666;
        }
        
    }

    写几个测试的拦截器

    package cn.cutter.start.aop;
    
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.aspectj.lang.annotation.AfterReturning;
    import org.aspectj.lang.annotation.Aspect;
    import org.aspectj.lang.annotation.Pointcut;
    import org.springframework.stereotype.Component;
    
    /**
     * 
     * @author xiaof
     *
     */
    @Component
    @Aspect
    public class AterReturningAspect {
    
        private static final Log logger = LogFactory.getLog(AterReturningAspect.class);
        
        //execution(* cn.cutter.start.bean.BeofreTestBean.*(..))
        @Pointcut("execution(* cn.cutter.start.bean.AterReturningTestBean.*(..))")
        private void pointCut1() {}
        
        @AfterReturning(pointcut="pointCut1()", returning="value1")
        public void testReturn1(int value1) {
            
            logger.info("返回拦截:" + value1);
            
        }
        
        @AfterReturning(pointcut="pointCut1()")
        public void testReturn2() {
            
            logger.info("返回拦截:没有参数");
            
        }
        
    }

    结果:

    @Test
        public void testAop4() {
            ApplicationContext ctx = this.before();
            
            AterReturningTestBean att = (AterReturningTestBean) ctx.getBean("aterReturningTestBean");
            
    //        att.aterReturningTest();
            
            att.aterReturningTestInt();
            
        }

  • 相关阅读:
    TSYS2.0 碎片工作原理
    回旋。悲哉、哀哉
    Sql高级操作
    你是我最愛的人
    TSYS2.0标签说明
    TSYS:Tkl_TemplateClass 类调用详解
    CMS设计和CMS选型(内容管理系统)
    TSYS2.0 Beta与Tsys 1.1等众多版本下载
    TsysV1.1 系统文件清单介绍
    伪装成Google Bot突破收费页面
  • 原文地址:https://www.cnblogs.com/cutter-point/p/8977821.html
Copyright © 2020-2023  润新知