下载资源后端资源详情
demo2.zip
大小:25.16KB
价格:19积分
下载量:0
评分:
5.0
上传者:haqiang555
更新日期:2024-07-24

基于SpringBoo防止接口重复提交代码示例

资源文件列表(大概)

文件名
大小
demo2/
-
demo2/.gitignore
395B
demo2/.idea/
-
demo2/.idea/.gitignore
190B
demo2/.idea/compiler.xml
715B
demo2/.idea/encodings.xml
191B
demo2/.idea/jarRepositories.xml
864B
demo2/.idea/misc.xml
539B
demo2/.idea/workspace.xml
3.72KB
demo2/.mvn/
-
demo2/.mvn/wrapper/
-
demo2/.mvn/wrapper/maven-wrapper.properties
952B
demo2/HELP.md
1.27KB
demo2/mvnw
10.42KB
demo2/mvnw.cmd
6.75KB
demo2/pom.xml
2.57KB
demo2/src/
-
demo2/src/main/
-
demo2/src/main/java/
-
demo2/src/main/java/com/
-
demo2/src/main/java/com/example/
-
demo2/src/main/java/com/example/demo2/
-
demo2/src/main/java/com/example/demo2/Demo2Application.java
320B
demo2/src/main/java/com/example/demo2/GlobalExceptionHandler.java
359B
demo2/src/main/java/com/example/demo2/LockAspect.java
1.56KB
demo2/src/main/java/com/example/demo2/LockCommit.java
226B
demo2/src/main/java/com/example/demo2/StudentController.java
375B
demo2/src/main/resources/
-
demo2/src/main/resources/application.properties
30B
demo2/src/main/resources/static/
-
demo2/src/main/resources/templates/
-
demo2/src/test/
-
demo2/src/test/java/
-
demo2/src/test/java/com/
-
demo2/src/test/java/com/example/
-
demo2/src/test/java/com/example/demo2/
-
demo2/src/test/java/com/example/demo2/Demo2ApplicationTests.java
217B
demo2/target/
-
demo2/target/classes/
-
demo2/target/classes/application.properties
30B
demo2/target/classes/com/
-
demo2/target/classes/com/example/
-
demo2/target/classes/com/example/demo2/
-
demo2/target/classes/com/example/demo2/Demo2Application.class
738B
demo2/target/classes/com/example/demo2/GlobalExceptionHandler.class
783B
demo2/target/classes/com/example/demo2/LockAspect.class
2.88KB
demo2/target/classes/com/example/demo2/LockCommit.class
539B
demo2/target/classes/com/example/demo2/StudentController.class
697B
demo2/target/generated-sources/
-
demo2/target/generated-sources/annotations/
-
demo2/target/maven-status/
-
demo2/target/maven-status/maven-compiler-plugin/
-
demo2/target/maven-status/maven-compiler-plugin/compile/
-
demo2/target/maven-status/maven-compiler-plugin/compile/default-compile/
-
demo2/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
-
demo2/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
226B

资源内容介绍

基于SpringBoo防止接口重复提交代码示例
package com.example.demo2;import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Pointcut;import org.aspectj.lang.reflect.MethodSignature;import org.springframework.stereotype.Component;import java.lang.reflect.Method;import java.util.concurrent.TimeUnit;@Aspect@Componentpublic class LockAspect { public static final Cache<String,Object> CACHES = CacheBuilder.newBuilder() .maximumSize(50) .expireAfterWrite(5, TimeUnit.SECONDS) .build(); @Pointcut("@annotation(com.example.demo2.LockCommit)&&execution(* com.example.demo2.*.*(..))") public void pointCut(){} @Around("pointCut()") public Object Lock(ProceedingJoinPoint joinPoint){ MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature(); Method method = methodSignature.getMethod(); LockCommit lockCommit = method.getAnnotation(LockCommit.class); String key = lockCommit.key(); if(key!=null &&!"".equals(key)){ if(CACHES.getIfPresent(key)!=null){ throw new RuntimeException("请勿重复提交"); } CACHES.put(key,key); } Object object = null; try { object = joinPoint.proceed(); } catch (Throwable e) { e.printStackTrace(); } return object; }}

用户评论 (0)

发表评论

captcha