【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);
        
    }

结果:

原文地址:https://www.cnblogs.com/cutter-point/p/8977841.html