1. 程式人生 > >跟我學aspectj之十二 ----- 基於註解的Aspect

跟我學aspectj之十二 ----- 基於註解的Aspect

   我們還可以用註解的方式來寫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不用,你只需要用他自己的編譯器即可。~