【sping揭秘】16、@After(finally) 但是这个实在afterturning之前执行

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 AterTestBean {

    private static final Log logger = LogFactory.getLog(AterTestBean.class);

    public void aterTest() {
        logger.info("aterTest sds");
    }
    
    public int aterTestInt(int value1) {
        logger.info("aterTestInt");
        
        return 666;
    }
    
}

 

package cn.cutter.start.aop;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.aspectj.lang.annotation.After;
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 AterAspect {

    private static final Log logger = LogFactory.getLog(AterAspect.class);
    
    //execution(* cn.cutter.start.bean.BeofreTestBean.*(..))
    @Pointcut("execution(* cn.cutter.start.bean.AterTestBean.*(..))")
    private void pointCut1() {}
    
    
    @After("pointCut1()")
    public void testReturn2() {
        
        logger.info("返回finally 最终拦截:没有参数");
        
    }
    
}

 

    @Test
    public void testAop5() {
        ApplicationContext ctx = this.before();
        
        AterTestBean att = (AterTestBean) ctx.getBean("aterTestBean");
        
        
        att.aterTest();
        
//        att.aterTest();
//        att.aterTestInt(7777);
        
    }

 

结果:

 

 

posted @ 2018-05-01 22:28  cutter_point  阅读(196)  评论(0编辑  收藏  举报