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

springboot中如何引入AOP切面編程

 更新時間:2024年05月13日 08:46:58   作者:戀上鋼琴的蟲  
這篇文章主要介紹了springboot中如何引入AOP切面編程問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

在Spring Boot 3.0中引入AOP的過程

如下所示:

1、首先確保已經添加了相關依賴

可以通過Maven或Gradle來管理項目的依賴。

對于使用Maven構建的項目,需要將以下依賴添加到pom.xml文件中

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

2、創(chuàng)建切面類(Aspect)

并定義切點(Pointcut)、前置通知(Before Advice)等邏輯。

切面類應該被注解為@Component,這樣才能被自動掃描到。

在com.lingyi.mybatis.aop包下創(chuàng)建一個TimeCustomAspect.java的AOP類,增強方法執(zhí)行的行為。

package com.lingyi.mybatis.aop;
 
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
 
import java.util.Arrays;
 
/**
 * 自定義aop切面
 */
 
@Aspect
@Component
public class TimeCustomAspect {
    @Before("execution(* com.lingyi.mybatis.controller.*.*())") //包com.lingyi.mybatis.controller下的所有類和類中的方法都滿足該AOP的條件
    public void beforeAdvice(){
        System.out.println("方法執(zhí)行前.....");
    }
    @After("execution(* com.lingyi.mybatis.controller.*.*())")
    public  void afterAdvice(){
        System.out.println("方法執(zhí)行后.......");
    }
    @Around("execution(* com.lingyi.mybatis.controller.*.*())")
    public Object recordTimeCustom(ProceedingJoinPoint pjp) throws  Throwable{
        long start = System.currentTimeMillis();
        Object result = pjp.proceed();
        long end = System.currentTimeMillis();
 
        String className = pjp.getTarget().getClass().getName();
        String method = pjp.getSignature().getName();
        String args = Arrays.toString(pjp.getArgs());
        System.out.println("類:"+className + ",方法:"+method +",參數:"+args +",執(zhí)行耗時:"+ (end - start));
        return result;
    }
 
}
 

3、測試

登錄swagger UI界面,訪問controller層某個接口。下面已/person接口為例

http://127.0.0.1:8081/swagger-ui/index.html

經過測試,編寫的AOP切面編程程序生效,AOP會根據切點表達式自動進行切面處理。

當符合條件的方法調用發(fā)生時,就會執(zhí)行相應的通知邏輯。

4、精細化切入

為了更加精細化對指定方法進行切入,切面還可以針對某些注解進行切入,從而實現對指定方法進行增強。

在方法上添加@Loggin注解

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java 線程池核心參數、執(zhí)行流程與實戰(zhàn)建議全解析

    Java 線程池核心參數、執(zhí)行流程與實戰(zhàn)建議全解析

    主要介紹了 Java 線程池:核心參數、執(zhí)行流程與實戰(zhàn)建議,我將用最通俗的方式帶你搞懂 Java 線程池,從構造函數開始,講透執(zhí)行機制、參數配置,再結合我在真實項目中的使用經驗,總結出一套實戰(zhàn)建議,需要的朋友可以參考下
    2025-04-04
  • Java與JavaScript自動化測試Selenium使用詳解

    Java與JavaScript自動化測試Selenium使用詳解

    這篇文章主要介紹了Java與JavaScript自動化測試Selenium的使用,Selenium是一個用于Web應用程序測試的工具,Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣,需要的朋友可以參考下
    2025-05-05
  • 解決@DateTimeFormat格式化時間出錯問題

    解決@DateTimeFormat格式化時間出錯問題

    這篇文章主要介紹了解決@DateTimeFormat格式化時間出錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 聊聊Redis的單線程模型

    聊聊Redis的單線程模型

    Redis是單線程,主要是指Redis的網絡IO和讀寫是由一個線程來完成的,但Redis的其他功能,比如持久化、異步刪除、集群數據同步等,其實是由額外的線程執(zhí)行的。這不是本文討論的重點,有個印象即可
    2022-12-12
  • SpringMVC 中HttpMessageConverter簡介和Http請求415 的問題

    SpringMVC 中HttpMessageConverter簡介和Http請求415 的問題

    本文介紹且記錄如何解決在SpringMVC 中遇到415 Unsupported Media Type 的問題,并且順便介紹Spring MVC的HTTP請求信息轉換器HttpMessageConverter
    2016-07-07
  • IDEA 2020.2 部署JSF項目的詳細過程

    IDEA 2020.2 部署JSF項目的詳細過程

    本文通過圖文并茂的形式教大家如何在IDEA中創(chuàng)建一個JSF項目及遇到問題的解決方法,感興趣的朋友跟隨小編一起看看吧
    2021-09-09
  • java兩個線程同時寫一個文件

    java兩個線程同時寫一個文件

    這篇文章主要為大家詳細介紹了java兩個線程同時寫一個文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • jenv實現mac下多版本jdk管理以及切換方式

    jenv實現mac下多版本jdk管理以及切換方式

    文章介紹在Mac上使用jenv管理多版本JDK的方法,包括下載安裝指定JDK版本、配置環(huán)境變量及切換操作,同時說明Maven和IDEA的JDK配置步驟,確保不同項目使用正確版本,涉及路徑設置、項目SDK及Maven參數配置
    2025-08-08
  • 使用Java實現6種常見負載均衡算法

    使用Java實現6種常見負載均衡算法

    Java負載均衡算法也是分布式系統中的重要組成部分,用于將來自客戶端的請求分配到不同的后端服務器上,本文將介紹常見的Java負載均衡算法,輪詢法、加權隨機法……一次性讓你了解?6?種常見負載均衡算法
    2023-06-06
  • elasticsearch kibana簡單查詢講解

    elasticsearch kibana簡單查詢講解

    今天小編就為大家分享一篇關于elasticsearch kibana簡單查詢講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02

最新評論

肥西县| 孟州市| 阿拉善右旗| 冕宁县| 南木林县| 高平市| 秭归县| 鹰潭市| 咸阳市| 仁布县| 黔江区| 渑池县| 天长市| 周口市| 阿图什市| 陈巴尔虎旗| 武胜县| 宁明县| 正镶白旗| 萍乡市| 四平市| 定襄县| 伽师县| 大庆市| 微博| 宜川县| 大厂| 沙坪坝区| 永安市| 女性| 墨玉县| 仁化县| 靖宇县| 宜州市| 来安县| 仁布县| 买车| 长岛县| 峨眉山市| 昌平区| 大同市|