From 1fdc240ab43dd1ca46147031de17a86b05315500 Mon Sep 17 00:00:00 2001 From: life <1733802689@qq.com> Date: Fri, 6 Oct 2023 22:28:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0aop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/encodings.xml | 4 +++ pom.xml | 5 +++ src/main/java/com/bwie/App.java | 2 ++ src/main/java/com/bwie/aop/RepeatEnum.java | 12 ++++++++ src/main/java/com/bwie/aop/RepeatSubmit.java | 29 ++++++++++++++++++ .../com/bwie/controller/TestController.java | 2 ++ target/classes/com/bwie/App.class | Bin 676 -> 746 bytes target/classes/com/bwie/aop/RepeatEnum.class | Bin 0 -> 386 bytes .../classes/com/bwie/aop/RepeatSubmit.class | Bin 0 -> 1387 bytes .../com/bwie/controller/TestController.class | Bin 2501 -> 2533 bytes target/demo11-1.0-SNAPSHOT.jar | Bin 11839 -> 13204 bytes .../compile/default-compile/createdFiles.lst | 2 ++ .../compile/default-compile/inputFiles.lst | 2 ++ 13 files changed, 58 insertions(+) create mode 100644 .idea/encodings.xml create mode 100644 src/main/java/com/bwie/aop/RepeatEnum.java create mode 100644 src/main/java/com/bwie/aop/RepeatSubmit.java create mode 100644 target/classes/com/bwie/aop/RepeatEnum.class create mode 100644 target/classes/com/bwie/aop/RepeatSubmit.class diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..da0415a --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 35827c3..8f6f5c3 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,11 @@ org.projectlombok lombok + + + org.springframework.boot + spring-boot-starter-aop + diff --git a/src/main/java/com/bwie/App.java b/src/main/java/com/bwie/App.java index 04ce79e..90955e3 100644 --- a/src/main/java/com/bwie/App.java +++ b/src/main/java/com/bwie/App.java @@ -2,8 +2,10 @@ package com.bwie; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.EnableAspectJAutoProxy; @SpringBootApplication +@EnableAspectJAutoProxy public class App { public static void main(String[] args) { diff --git a/src/main/java/com/bwie/aop/RepeatEnum.java b/src/main/java/com/bwie/aop/RepeatEnum.java new file mode 100644 index 0000000..85b06d1 --- /dev/null +++ b/src/main/java/com/bwie/aop/RepeatEnum.java @@ -0,0 +1,12 @@ +package com.bwie.aop; + +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 RepeatEnum { + +} diff --git a/src/main/java/com/bwie/aop/RepeatSubmit.java b/src/main/java/com/bwie/aop/RepeatSubmit.java new file mode 100644 index 0000000..e431e4b --- /dev/null +++ b/src/main/java/com/bwie/aop/RepeatSubmit.java @@ -0,0 +1,29 @@ +package com.bwie.aop; + +import lombok.extern.log4j.Log4j2; +import org.aspectj.lang.annotation.After; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Component; + +@Log4j2 +@Aspect +@Component +public class RepeatSubmit { + + private final ThreadLocal threadLocal=new ThreadLocal<>(); + + @Pointcut("@annotation(com.bwie.aop.RepeatEnum)") + private void pointcut(){} + + @Before("pointcut()") + public void bef(){ + log.info("切面 -前"); + } + + @After("pointcut()") + public void aft(){ + log.info("切面 -后"); + } +} diff --git a/src/main/java/com/bwie/controller/TestController.java b/src/main/java/com/bwie/controller/TestController.java index 3e659b9..ffd4b16 100644 --- a/src/main/java/com/bwie/controller/TestController.java +++ b/src/main/java/com/bwie/controller/TestController.java @@ -1,5 +1,6 @@ package com.bwie.controller; +import com.bwie.aop.RepeatEnum; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -20,6 +21,7 @@ public class TestController { private static final String apiTemplate="%s:%s:%s"; + @RepeatEnum @PostMapping public String post(@RequestHeader("token") String token, @RequestBody String str){ String format = String.format(apiTemplate, token, request.getRequestURI(), str); diff --git a/target/classes/com/bwie/App.class b/target/classes/com/bwie/App.class index 129600917a7c7881dadca9cb9912c2ebf85d316a..0291e2a49220fc6dbf85beacb1508603afa06ef3 100644 GIT binary patch delta 96 zcmZ3&`ihn7)W2Q(7#J9A8RR!|ePLu_WU%*{SST{_K8IprUS57lVo7Fxp1x~dVp2}3 zV{t)ha*3B?X-R%SQGP|`rpSq26G DTR006 diff --git a/target/classes/com/bwie/aop/RepeatEnum.class b/target/classes/com/bwie/aop/RepeatEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..801dbfd78ec41e5fac14c63f8ba7459e70ae632a GIT binary patch literal 386 zcmaiwy-EW?5Xb)$O;+PaVkIJ?Sfq3xKr94L6pWGcw6WSdhOl98_el04c{K|kz=ski z7G85;G2g%WGtAfb$0vX*94K@MhearL{%%>DQ0bH_HZk#asjx{H&dkziXZ%!8@);LV zp+`7vy2kquO|-%5>%WxHe-8D$;9KjMFlaY15O zIbIUFOXF%$J#Xg{$0hrittu9{H%_v<$qnJGolZFlEY}M=`UiOm&K4^HRr>On-H($I jfv_Rgm3IOis9(Q@ZHdQH_hq*824d`D5BuwiF~IN#uD5Q5 literal 0 HcmV?d00001 diff --git a/target/classes/com/bwie/aop/RepeatSubmit.class b/target/classes/com/bwie/aop/RepeatSubmit.class new file mode 100644 index 0000000000000000000000000000000000000000..e07d78c907fd0b8c750a5eeb3b4ca0f3bb48fb48 GIT binary patch literal 1387 zcmai!+fGwK6o&t43q5V5Q~?nbDvE89ZV!0CA`yvR)k7$0;^nkV%hYyHvkwrTK)ulT z0^axrY78C{AHetU!j~|v*}Kqc5H7lBX3eZ`{cC2e{`md%JAm7`l|TsLC?W<1FvyT< z@@;OmxYaNpRhy#bG7K(DOS&rz;cTuFMT}vzcW7hF7JRd$YP^*|6yZ3MFrpYTa16r? z6E)Q~t2+QRlnT4M(UnMb)lTl0P%pS&nz%5QH8R8A$28tOL`va}DxZ@OaN9IY0 zvTRt~^=!c~-zT;2S(f|E-3(TWl;E1$B&Xq$w8TTNT^05QueQjN_8+stZK>B?W5nH( z4#Q;Wzwb%NSVu|At$Fme6YHMk%C@LTM-pY#vXskRsVsub1$j9gs;*{GYJ7j+eB5Oa zZ(y6ZJW_P-PH#U;0t&jI3RF;qprGzqUOPwCQ5AJMd?@{{s4H6#JF%xVt37$0G|wLD zxmtIrvM9;rTC3X+iL&zSnz%3ZwT<)_cR|9^SN{P3Lx>P1OEV)lj~w#;nR#M`eAYazHH-C}br>z7=g7K_7s;Na z-39s;9GEm*+9xd$Q9C9-AeBDx1!E!fn1P@%5;oq)P5#5Z9B{ADaP?sB)PdYd;!YjH tUEJfwaBcqq{8X6h)W2Q(7#J9A8Ok;D9c5)So&1qabF(Ph6-HJ*1{Mb4$?w=d+DbCWF-S3J zGRQKR0a;cI>I|+x+JixXA(%mtA&x@fOA2k2~ diff --git a/target/demo11-1.0-SNAPSHOT.jar b/target/demo11-1.0-SNAPSHOT.jar index aed0425a4b87da67d6f2e2a2df40d4a4fd5c6267..4057997130cbb445f796844fdb71a209c43691fa 100644 GIT binary patch delta 4421 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 z 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 HsJMRu)#$(n diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 51d8705..e0f8dfe 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,9 +1,11 @@ +com\bwie\aop\RepeatSubmit.class com\bwie\config\WebMvcConfig.class com\bwie\controller\LoginController.class com\bwie\domian\UserInfo.class com\bwie\Filter\TokenFilter.class com\bwie\controller\TestController.class com\bwie\domian\req\LoginReq.class +com\bwie\aop\RepeatEnum.class com\bwie\domian\UserInfo$UserInfoBuilder.class com\bwie\config\LoginUserMap.class com\bwie\App.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 3e0957d..0333393 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -2,6 +2,8 @@ D:\Project\demo11\src\main\java\com\bwie\config\LoginUserMap.java D:\Project\demo11\src\main\java\com\bwie\domian\req\LoginReq.java D:\Project\demo11\src\main\java\com\bwie\config\WebMvcConfig.java D:\Project\demo11\src\main\java\com\bwie\Filter\TokenFilter.java +D:\Project\demo11\src\main\java\com\bwie\aop\RepeatSubmit.java +D:\Project\demo11\src\main\java\com\bwie\aop\RepeatEnum.java D:\Project\demo11\src\main\java\com\bwie\domian\UserInfo.java D:\Project\demo11\src\main\java\com\bwie\controller\LoginController.java D:\Project\demo11\src\main\java\com\bwie\controller\TestController.java