Ver código fonte

feat:耗时注解

baiqi 1 ano atrás
pai
commit
383f23640f

+ 5 - 0
pom.xml

@@ -193,6 +193,11 @@
             <version>2.1.0</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 11 - 0
src/main/java/com/njuzr/eaibackend/annotation/LogExecutionTime.java

@@ -0,0 +1,11 @@
+package com.njuzr.eaibackend.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface LogExecutionTime {
+}

+ 21 - 0
src/main/java/com/njuzr/eaibackend/config/LogAspect.java

@@ -0,0 +1,21 @@
+package com.njuzr.eaibackend.config;
+
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.stereotype.Component;
+import com.njuzr.eaibackend.annotation.LogExecutionTime;
+
+
+@Aspect
+@Component
+public class LogAspect {
+    @Around("@annotation(com.njuzr.eaibackend.annotation.LogExecutionTime)")
+    public Object logTime(ProceedingJoinPoint joinPoint) throws Throwable {
+        long start = System.currentTimeMillis();
+        Object result = joinPoint.proceed();
+        long duration = System.currentTimeMillis() - start;
+        System.out.println("方法执行耗时: " + duration + "ms");
+        return result;
+    }
+}