Springboot整合Aspectj、Aspectj基本语法

本文详细介绍了如何在SpringBoot中整合AspectJ,通过实例展示了在接口方法执行前后的应用场景,并提供了核心依赖和配置。此外,还深入讲解了AOP的基本概念,包括切点表达式的各种匹配方式,如execution、@annotation等,帮助开发者更好地理解和应用面向切面编程。
摘要由CSDN通过智能技术生成

我们知道AOP(面向切面编程)给开发人员带来了极大的便利性,特别是有强迫症的猿们,项目中出现一堆冗余且与实际业务无关的代码,看一次想撕一次。

网上找不到比较全的相关文章,特此花时间整理下,方便你我他。

下述实例源码传送门

https://gitee.com/peterven/aoptest

开箱即用

核心依赖

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

场景一 (接口方法执行前)

package com.gitee.peterven.controller.admin;

@Slf4j
@RestController
public class AdminController {
   

    @GetMapping("admin/hello")
    public void hello() {
   
        log.info("I am admin method!");
    }
}
@Slf4j
@Aspect
@Component
public class MyAspect {
   

    @Before("execution(public * com.gitee.peterven.controller.admin.*.*(..))")
    public void beforeTest() throws Throwable {
   
        log.info("before invoke");
    }
}

执行日志

before invoke
I am admin method!

语法分析

@Before        // 表示方法执行前织入该方法
execution 	   // 表示根据匹配规则执行方法
public 		   // 表示匹配的方法必须是public的
* 			   // 表示匹配的方法返回值可以是任意类型
com.gitee.peterven.c
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值