From ab2bde0517de632198ba3856f7f2fb883bea12c3 Mon Sep 17 00:00:00 2001 From: KilLze Date: Tue, 30 Dec 2025 01:32:01 +0800 Subject: [PATCH] =?UTF-8?q?AOP=E8=AE=B0=E5=BD=95=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E8=80=97=E6=97=B6=EF=BC=88=E6=B2=A1=E4=BA=8B?= =?UTF-8?q?=E9=97=B2=E7=9A=84=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 ++++ .../bao/dating/aspect/RecordTimeAspect.java | 31 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/main/java/com/bao/dating/aspect/RecordTimeAspect.java diff --git a/pom.xml b/pom.xml index aa960d4..278ec98 100644 --- a/pom.xml +++ b/pom.xml @@ -71,6 +71,12 @@ 3.12.0 + + + org.springframework.boot + spring-boot-starter-aop + + com.aliyun.oss diff --git a/src/main/java/com/bao/dating/aspect/RecordTimeAspect.java b/src/main/java/com/bao/dating/aspect/RecordTimeAspect.java new file mode 100644 index 0000000..993c2f8 --- /dev/null +++ b/src/main/java/com/bao/dating/aspect/RecordTimeAspect.java @@ -0,0 +1,31 @@ +package com.bao.dating.aspect; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.stereotype.Component; + +/** + * 记录方法运行耗时 + * @author KilLze + */ +@Slf4j +@Aspect +@Component +public class RecordTimeAspect { + @Around("execution(* com.bao.dating.service.impl.*.*(..))") + public Object recordTime(ProceedingJoinPoint pjp) throws Throwable { + //1. 记录方法运行的开始时间 + long begin = System.currentTimeMillis(); + + //2. 执行原始的方法 + Object result = pjp.proceed(); + + //3. 记录方法运行的结束时间, 记录耗时 + long end = System.currentTimeMillis(); + log.info("方法 {} 执行耗时: {}ms", pjp.getSignature() ,end-begin); + return result; + } + +}