最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot日志切面通用類實例詳解

 更新時間:2021年01月08日 08:31:42   作者:jiachengren  
這篇文章主要介紹了springboot日志切面通用類,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1.pom.xml文件導入AOP依賴

<!--aop依賴-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-aop</artifactId>
  <version>2.3.0.RELEASE</version>
</dependency>

2.pom.xml導入Lombok依賴

<!--Lombok依賴-->
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <optional>true</optional>
</dependency>
package jmu.rjc.aspect;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;

//日志切面
@Aspect
@Component
public class LogAspect {

  private final Logger logger = LoggerFactory.getLogger(this.getClass());
	
	//包名配置為自己的項目包名即可
  @Pointcut("execution(* jmu.rjc.web.*.*(..))")
  public void log(){}

  @Before("log()")
  public void doBefore(JoinPoint joinPoint){
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();
    String url = request.getRequestURL().toString();
    String ip = request.getRemoteAddr();
    String classMethod = joinPoint.getSignature().getDeclaringTypeName()+"."+joinPoint.getSignature().getName();
    Object[] args = joinPoint.getArgs();
    RequestLog requestLog = new RequestLog(url,ip,classMethod,args);
    logger.info("Request : {}",requestLog);
  }

  @After("log()")
  public void doAfter(){
    logger.info("---------doAfter-------");
  }

  @AfterReturning(returning = "result",pointcut = "log()")
  public void doAfterReturn(Object result){
    logger.info("Result : {}"+result);
  }

  @Data
  @ToString
  @AllArgsConstructor
  @NoArgsConstructor
  private class RequestLog{
    private String url;
    private String ip;
    private String classMethod;
    private Object[] args;
  }

}

3.關于Lombok的注意點

Lombok的使用大大簡化了開發(fā)過程,提高了開發(fā)效率,但是也存在一些隱患.比如強行侵入jar包,JDK版本升級沖突,破壞部分封裝性等缺陷,使用前最好和團隊商量好

到此這篇關于springboot日志切面通用類的文章就介紹到這了,更多相關springboot日志切面通用類內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • spring啟動錯誤Singleton bean creation not allowed while the singletons of this factory are indestruction

    spring啟動錯誤Singleton bean creation not al

    本文主要介紹了spring啟動錯誤Singleton bean creation not allowed while the singletons of this factory are indestruction,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • springAOP的三種實現(xiàn)方式示例代碼

    springAOP的三種實現(xiàn)方式示例代碼

    這篇文章主要介紹了springAOP的三種實現(xiàn)方式,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法

    Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法

    這篇文章主要介紹了Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法的相關資料,今天使用Eclipse 時出現(xiàn)以上錯誤,本文說明如何更更正,需要的朋友可以參考下
    2016-11-11
  • Java基礎之文件和目錄操作

    Java基礎之文件和目錄操作

    這篇文章主要介紹了Java基礎之文件和目錄操作,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • Java打包ZIP文件的使用

    Java打包ZIP文件的使用

    本文詳細介紹了如何使用Java語言進行ZIP文件的創(chuàng)建、讀取和操作,通過java.util.zip包和第三方庫,可以高效地處理ZIP文件,并應用密碼保護和注釋等高級功能,在實際應用中,遵循最佳實踐可以提高程序的健壯性和安全性
    2025-02-02
  • java中Socket設置超時時間的兩種方式

    java中Socket設置超時時間的兩種方式

    這篇文章主要介紹了java中Socket設置超時時間的兩種方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • SpringBoot+Thymeleaf靜態(tài)資源的映射規(guī)則說明

    SpringBoot+Thymeleaf靜態(tài)資源的映射規(guī)則說明

    這篇文章主要介紹了SpringBoot+Thymeleaf靜態(tài)資源的映射規(guī)則說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 淺談Java轉義符\\|

    淺談Java轉義符\\|

    java中\(zhòng)需要用\\來表示吧這個你應該知道,而split中傳入的參數(shù)是什么呢 他并不是普通的字符串 你可以查一下api文檔 它要求傳入的是正則表達式 而正則表達式也需要這個\所以在這里有這個\\
    2015-06-06
  • Mybatis-plus中的@EnumValue注解使用詳解

    Mybatis-plus中的@EnumValue注解使用詳解

    這篇文章主要介紹了Mybatis-plus中的@EnumValue注解使用詳解,在PO類中,如果我們直接使用枚舉類型去映射數(shù)據(jù)庫的對應字段保存時,往往就會因為類型不匹配導致映射失敗,Mybatis-plus提供了一種解決辦法,就是使用@EnumValue注解,需要的朋友可以參考下
    2024-02-02
  • 詳解Java中的時間處理與時間標準

    詳解Java中的時間處理與時間標準

    這篇文章主要為大家詳細介紹了三個時間標準GMT,CST,UTC的規(guī)定,以及Java進行時間處理的相關知識,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-09-09

最新評論

平乡县| 会泽县| 松原市| 合江县| 大安市| 宝鸡市| 林周县| 阿巴嘎旗| 马山县| 杨浦区| 前郭尔| 利辛县| 林州市| 梓潼县| 甘南县| 东宁县| 商水县| 泊头市| 沅陵县| 滦南县| 行唐县| 绩溪县| 孝感市| 通江县| 木里| 绥中县| 大洼县| 扎兰屯市| 巴林左旗| 抚松县| 吕梁市| 得荣县| 株洲市| 彭水| 区。| 高雄市| 柞水县| 邵阳县| 依兰县| 新竹市| 太和县|