使用AOP的@Around後無返回值的解決
經測試,是環繞通知改變瞭返回值,切面方法需要有返回值,來代替被代理方法返回結果
改成如下即可:
@Around("point_update()") public Object update(ProceedingJoinPoint jp) throws Throwable{ ... Object result = jp.proceed(); ... return result; }
讓其執行後的結果返回即可。
補充:spring aop @Around 返回參數值為空
在做 spring 項目中用到aop,攔截前端請求後AOP中@Around 處理後返回參數為空。
通過檢查接口層Controller方法返回類型為void造成的,返回值改為一致就沒問題瞭。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- 基於SpringAop中JoinPoint對象的使用說明
- spring項目中切面及AOP的使用方法
- Spring針對AOP詳細講解
- SpringBoot中定位切點的兩種常用方法
- 基於springboot實現一個簡單的aop實例