8、Springboot 集成Aop

1、引入aop maven依賴


注意:(1) 去除默認logging組件,因爲我們框架已經更改使用log4j2;


           (2)引入依賴後AOP默認開啓,無需再添加開啓aop註解

2、聲明aop切面處理類(切面處理操作實現類) @Aspect @Component @Order(index)

注:怎樣聲明一個自定義註解?要用到4個元註解:(具體實現方式不詳細說明)

  • 註解保留位置 @Retention(RetentionPolicy.RUNTIME) RetentionPolicy.RUNTIME、SOURCE、CLASS

  • 註解作用目標 @Target(ElementType.METHOD) ElementType.TYPE、METHOD、FIELD、......

  • 該註解將被包含在javadoc中 @Document

  • 子類可以繼承父類中的該註解@Inherited

 

 

 

(2)execution表達式

  • execution(public * com.chn.frameweb.business.service.demo.demoServiceImpl.*(..)))

  • execution(public * com.chn.frameweb.business.service.demo.*.*(..)))

 

  • 詳解 :

  1. 第一個 public 表示方法的修飾符,可以用*代替

  2. 第一個 * 表示 返回值,*代表所有

  3. public * com.chn.frameweb.business.service.demo.* 包路徑,.*表示路徑下的所有包;


也可指定具體的類com.chn.frameweb.business.service.demo.demoServiceImpl

  1. 第三個.* 表示路徑下所有類或指定的類下, 類的所有方法(也可指定特定方法)

  2. (..) 表示不限方法參數

 

4、設置切面處理時間及綁定切點

 

  • @AfterReturning :方法執行後開始處理, pointcut="" 綁定切點

  • @Before :方法執行前開始處理,value="" 綁定切點

5、@order配置參數說明


@order(index),index取值(0,1,2,3,......)

 

  • org.springframework.core.annotation.Order;

  • @Order的作用域可以是類、方法、類成員

  • 註解類,i值是,值越小,優先級越高

  • 註解AOP方法: @Before 是i值越小,優先級越高; @After或者@AfterReturning 中,i值越大,優先級越高

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章