19Spring_AOP編程(AspectJ)_使用@Pointcut注解來定義切點


我們之前的方式是采用

@AfterReturning(value="execution(* com.guigu.shen.anotion.UserDaoImpl.*(..))",returning="returnVal")
public void afterReturning(JoinPoint joinPoint,Object returnVal)
{
System.out.println("this is afterReturning 方法");
System.out.println(returnVal);
    
}

這樣的方式。這樣方式的話切點和通知是緊密聯系在一起的,我們換另外一種方式。使用@Pointcut注解來定義切點。把兩者解開。

案例如下:

//第二步定義一個通知,用上切點
//這里寫的就是定義的那個用@Pointcut注解修飾的方法。
@After("mypoint()") public void after() { System.out.print("最終通知,釋放資源"); }
//第一步:定義一個切點 @Pointcut(
"execution(* com.guigu.shen.anotion.UserDaoImpl.*(..))")
//必須是private void 無參數
private void mypoint() { }

效果和之前的一模一樣。

 

 

擴展:有沒有我再想攔截一個切點怎么辦?上面我已經有一個切點了,那么能不能一個advice有多個切點。答案是:當然可以

在開發中有這么種需求,即要切DAO層那邊,也要切Server那邊。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM