Spring_day04

1:後置通知的返回值問題日誌

1.在後置通知中能夠添加返回值,用來對返回值作處理。配置方法就是在xml文件中的後置通知配置項中,添加returning屬性  returning="name" 屬性的值就是用來接收參數的名稱,這個名稱必須是固定的不能隨便更改。xml

2.後置通知與環繞通知一塊兒使用時,若是後置通知須要返回值,那麼在環繞通知中 必須添加返回值參數。否則目標對象執行的返回值就會被環繞通知所攔截。不會再往下傳遞參數。對象

 

2.異常通知返回值問題get

若是想得到異常信息。能夠在異常通知中添加返回值爲throwing="throwable"io

名稱和後置通知同樣都是固定的寫法 應該和異常通知中的參數保持一致。咱們能夠經過異常信息 作一個異常日誌收集系統。使用AOP特別的方便。class

 

3.註解形式配置AOP配置

1.AOP註解開啓aop

<aop:aspectj-autoproxy proxy-target-class="true"/>service

2.指明切面類方法

@Aspect

public class ReturnAspect

3.編寫切入點

@Pointcut(value="execution(* service..*(..))")

public void pointcut(){

 

}

4.配置通知與切入點綁定

@Around(value="pointcut()")

public String around(ProceedingJoinPoint joinPoint) throws Throwable{

String name = (String) joinPoint.proceed();

System.out.println("!!!!!!!"+name);

return name;

}

 

注意事項

若是報錯信息。中包含::0 應該檢查切入點表達式中的返回值和通知中的參數是否匹配。

 

 

4.若是獲得方法上的註解

@Around(value="execution(* service..*(..)) && @annotation(hello)")

public String around(ProceedingJoinPoint joinPoint,Hello hello)

 

這樣利用Spring的機制可以快速的獲取方法上的註解。便於之後註解的獲取。

相關文章
相關標籤/搜索