通過AOP對某些方法進行統一操作

2021-09-26 05:55:38 字數 2112 閱讀 5000

aop常用註解

@aspect:作用是把當前類標識為乙個切面供容器讀取

@pointcut:pointcut是植入advice的觸發條件。每個pointcut的定義包括2部分,一是表示式,二是方法簽名。方法簽名必須是 public及void型。可以將pointcut中的方法看作是乙個被advice引用的助記符,因為表示式不直觀,因此我們可以通過方法簽名的方式為 此表示式命名。因此pointcut中的方法只需要方法簽名,而不需要在方法體內編寫實際**。

@around:環繞增強

@afterreturning:後置增強

@before:標識乙個前置增強方法

@afterthrowing:異常丟擲增強

@after: final增強,不管是丟擲異常或者正常退出都會執行

1. 新建註解類aopfilter和aopfilters

@retention(runtime)

public @inte***ce aopfilter

2. 建註解類aopfilters 

@retention(runtime)

public @inte***ce aopfilters

3. 某操作類

@slf4j

@restcontroller

public class aopcontroller )

public mapregister(string name, integer age, string address, integer ***) throws exception

string birthday = "2008-08-08 00:00:00";

map.put("name", name);

map.put("age", age);

map.put("address", address);

map.put("***", ***name);

map.put("birthday", birthday);

return map;

} }

4. 切面類

@component

@aspect

public class aop

method sourcemethod = getsourcemethod(jp);

system.out.println(sourcemethod.getname());

system.out.println("方法引數:a,b,c,d :" + a + ", " + b + ", " + c + ", " + d);

system.out.println("當前使用者資訊 user_id = " + userid + ", token = " + token );

}}

通過pdo的query 方法對資料庫進行操作

phpheader content type text html charset utf 8 例項化pdo物件 pdo new pdo mysql host 127.0.0.1 port 3306 dbname test root 888888 通過query函式執行sql命令 pdo query ...

通過aop環繞通知統一包裝介面思路雛形

設計思路 讓業務層專注業務開發,報文封裝由aop自動完成。雛形 在controller增加切面 抓取入參json報文和出參物件,使用自定義bean規範報文格式進行返回。privatestaticfinallogger logger logge ctory.getlogger webrequestar...

java中統一方法進行切面管理

aop切面管理統一介面類 1 spring配置 被切面監控的類需要放在pointcut的配置的路徑下 2 切面類 在切面中進行統一的型別返回,這個統一的型別作為父類被其他類的方法的返回類繼承。在這個切面中可以實現簡單的統一處理,包括方法監控,方法異常捕獲和返回。真正執行目標方法時pjp.procee...