Live2D

IDEA创建maven的spring boot项目,【极简版】切面编程+swagger调用

为一次项目创建做记录,用最少的类展示切面编程_AOP

1、项目结构:

----src

--------main

--------|---java

--------|---|----com.demo

--------|---|---|---bean

--------|---|---|---|----Caculate

--------|---|---|---config

--------|---|---|---|----LoggingAspect

--------|---|---|---|----SwaggerConfig

--------|---|---|---controller

--------|---|---|---|----TestController

--------|---|---|---|----DemoApplication

--------|---resources

--------|---|----application.yml

2、各个类展示

  1)基础类(包含要调用的函数——提供方)

@Component
public class Caculate{
    
    public int add(int a,int b){
        return a+b;
    }
}

 

  2)切面类(用于定义切面和操作)

@Aspect 
@Component
public class LoggingAspect{
    @Before("execution(* com.demo.controller.*.*(..))")
    public void logBeforeMethodCall(){
        String name=joinPoint.getSignature().getName();
        System.out.println("Calling method:"+name);
    }

}

  

  3)调用类(调用方)

@RestController
public class TestController{
    
    @AutoWired
    Caculate caculate;
    
    @GetMapping("/run")
    public void fun(){
        int result=caculate.add(5,3);
        System.out.println("result:"+result);
    }

}

  

  4)swagger配置类(用于页面调试,可不使用)

@Configuration
public class SwaggerConfig{
    @Bean
    public Docket restfultApi(){
    return new Docket(DocumentationType.SWAGGER_2)
    .genericModelSubstitutes(ResponseEntity.class)
    .select()
    .apis(RequestHandlerSelectors.basePackage("com.demo.controller"))
    .build();
    }
}

  

  5)启动类

@SpringBootApplication
@EnableAspectJAutoProxy
@EnableSwagger2
public class DemoApplication{
    public static void main(String[] args){
        SpringApplication.run(DemoApplication.class);
}
}

  

  6)项目配置文件

server: 
  port: 8888

  

 

3、结果展示

Calling method: fun
result:9

  

 

posted @ 2023-09-15 16:30  -涂涂-  阅读(37)  评论(0编辑  收藏  举报