跟我學aspectj之十二 ----- 基於註解的Aspect
阿新 • • 發佈:2019-02-05
我們還可以用註解的方式來寫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不用,你只需要用他自己的編譯器即可。~