Spring boot 使用AOP記錄controller日志

希望在controller執行完成后,記錄一下這個接口的調用信息
如下實現請求到如下接口后,會執行SubscribeAop.java中的 recordLog()方法
如果要實現在進入Controller.subscribe()之前執行某個方法,可以使用@ModelAttribute注解,使用方法自行google

  • Controller.java
    @GetMapping("/")
    public String subscribe(String accessToken, HttpServletRequest request) {
        return "SUCCESS";
    }
  • SubscribeAop.java
@Aspect
@Component
public class SubscribeAop {
    // 對以下com.web.controller.Controller類中的所有方法進行切入
    @Pointcut("execution(public * com.web.controller.Controller.*(..))")
    private void method(){
    }

    // @After("method() && args(jsonData ,request)")
    // public void recordLog(String jsonData ,HttpServletRequest request){
    @After("method()")  // 使用上面定義的切入點
    public void recordLog(){
       // 這里記錄日志 , 這里處理的內容會切入controller中
    }
}
  • pom.xml
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
  • application.properties
spring.aop.auto=true

參考:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,933評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,954評論 6 342
  • 本文的目的是簡單介紹Spring Boot的一些入門配置的Quick Start,幫助快速上手; 不涉及Sprin...
    曉峰的簡書閱讀 2,461評論 2 3
  • 很久很久, 就學到了這樣一句, 這樣一句讓自己揣摩已久的, 話…… 是煩惱, 是煩惱啊, 把身體糟蹋!
    小劇在成長閱讀 199評論 0 1