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); }
结果: