添加aop

master
MKing 2023-10-06 22:28:31 +08:00
parent 1603b202be
commit 1fdc240ab4
13 changed files with 58 additions and 0 deletions

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" defaultCharsetForPropertiesFiles="UTF-8" />
</project>

View File

@ -24,6 +24,11 @@
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -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) {

View File

@ -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 {
}

View File

@ -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<String> 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("切面 -后");
}
}

View File

@ -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);

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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

View File

@ -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