日期:2014-05-17 浏览次数:21009 次
?
我们还可以用注解的方式来写asepctj. 但是需要加入aspectjweave.jar。用法还是一样,就不想多将了,给个demo吧。
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; @Aspect public class AnnotaionAspect { @Pointcut("execution(* com.ubs.ifop.application.ep..*.*(..))") public void epAspectjPkg(){ } @Pointcut("call(* com.ubs.ifop.application.ep.aspectj.test.Config$IValue.get*(String,String))") public void ivalueAspectj(){} @Pointcut("cflow(ivalueAspectj()) && !within(AnnotaionAspect)") public void actuallyPoint(){} @Before("actuallyPoint() && ivalueAspectj()") public void testExecute(){ System.out.println("aaaaaaaaaaaaa"); } }
注意哦,这个仍然需要用aspectj 自己的编译器哦。 怎么样?是不是突然发现Spring AOP就是这么写的? 对了,不过的是Spring AOP需要将切面用Ioc容器来管理,但是aspectj不用,你只需要用他自己的编译器即可。~