ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringBoot实现AOP

2022-03-01 22:01:25  阅读:154  来源: 互联网

标签:控制器 定义 实现 void aop 切点 AOP public SpringBoot


前期准备
pom.xml引入aop包,版本不用跟例子一致

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-aop -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
            <version>2.6.4</version>
        </dependency>

项目目录结构:
在这里插入图片描述
http存放测试接口,aspect存放aop功能代码,controller存放测试控制器

接着来实现简单aop功能

实现逻辑:1.先定义具有切面功能的类 2.定义切点 3.定义功能运行的时间位置

@Aspect表明这个是组织了切面逻辑的类

@Pointcut定义切点(用于指定需要面向编程的面),定义的切点表达式可网上查询

@Before,@After都是定义逻辑执行的时间位置,还有其他的类就不展开写

@Aspect
@Component
public class ControllerAspect {

    //定义切点
    @Pointcut("execution(public * com.rmx.learn.controller..*Controller.*(..))")
    public void controllerPointCut(){};

    @Before("controllerPointCut()")
    public void before(){
        System.out.println("进入切点前");
    }

    @After("controllerPointCut()")
    public void after(){
        System.out.println("进入切点后");
    }
}

接着写一个测试控制器去测试AOP功能

@RestController
public class TestController {
    @RequestMapping("/test")
    public void print(){
        System.out.println("控制器");
    }
}

写完控制器后,可以直接运行调用控制器查看AOP功能是否运行了,不过这里我不想打开页面测试,我就写了测试文件

http://localhost:8080/test

实现结果
在这里插入图片描述

标签:控制器,定义,实现,void,aop,切点,AOP,public,SpringBoot
来源: https://blog.csdn.net/qq_42451456/article/details/123217188

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有