spring中的@aspectj切點表達式函數都有哪些
請問在spring中的@aspectj切點表達式函數都有哪些?
慕工程0101907
2019-09-23 16:16:26
TA貢獻1872條經驗 獲得超4個贊
12345678910 | 注解模式的aspectj中,切面邏輯、切入點等都需要集中定義在一個類中。其中: @Pointcut 注解定義了切入點,它通過一個execution表達式來指定需要切入的類和方法,將本注解所在的方法與切入的方法綁定,后續的操作中都直接使用注解所在方法的方法名來映射被切入的方法(因而本方法只需為空即可)。pointcut可定義多個 Aspectj提供了多種類型的切面邏輯:主要有 @After (方法結束)、 @AfterReturning (方法返回)、 @AfterThrowing (方法拋出異常)、 @Before (方法開始前)、 @Around (方法前后)這五個針對方法的注入,以及其它一些針對變量聲明的注入(不常用) 從注解的參數列表中可以看出該注解所對應的切面邏輯能提供什么樣的參數,如: @AfterReturning 的returning參數,可以指定目標方法的返回值在本切面邏輯中的變量名; @AfterThrowing 的throwing參數,可以指定目標方法拋出的異常對象在本切面邏輯中的變量名。除此而外,所有的切面注解都必有兩個參數:value和argNames,value用于指定pointcut的方法名,argNames則是目標方法各參數在本切面邏輯中的方法名 切面方法自帶一個參數叫JoinPoint,其中保存了方法的一些元數據信息,最有用的便是可以從中直接獲取參數對象列表,以及可以直接獲取到作為注入點的目標對象 |
舉報