spring boot切面execution表达式添加多个包路径

问题描述

在Spring Boot中,如果你想为多个包中的方法创建一个切面,你可以在@Pointcut注解中使用||操作符来指定多个包。


解决方案:

java 复制代码
// 定义切入点为两个包中的任意方法
@Pointcut("execution(* com.example.package1..*.*(..)) || execution(* com.example.package2..*.*(..))")
public void myPointcut() {
}

整个表达式可以分为五个部分:

  1. execution(): 表达式主体,可以扫描控制层的接口、某个注解、或者其他需要扫描的类。
  2. 第一个*号:表示返回类型,*号表示所有的类型,比如public,protect,private等。
  3. 包名:表示需要拦截的包名,后面的两个句点表示当前包和当前包的所有子包,com.demo.service.impl包、子孙包下所有类的方法。
  4. 第二个*号:表示子包名,*号表示所有子包。
  5. 第三个*号:表示类名,*号表示所有子包下的类。
  6. *(..):最后这个星号表示方法名,*号表示所有的方法,后面括弧里面表示方法的参数,两个句点表示任何参数。
相关推荐
流水武qin5 分钟前
SpringAI多模态的基本使用
java·spring boot·spring·ai
小飞Coding6 分钟前
Spring 容器生命周期:10大核心扩展接口+实战代码
spring boot
吾诺39 分钟前
Spring Boot--@PathVariable、@RequestParam、@RequestBody
java·spring boot·后端
jiankeljx1 小时前
Spring Boot实现多数据源连接和切换
spring boot·后端·oracle
xyyaihxl2 小时前
springboot与springcloud对应版本
java·spring boot·spring cloud
小箌2 小时前
springboot_01
java·spring boot·后端
a8a3023 小时前
Springboot中CommandLineRunner的用法以及执行顺序的控制
java·spring boot·spring
sevenlin3 小时前
Spring Boot 经典九设计模式全览
java·spring boot·设计模式
salipopl3 小时前
Spring Boot 集成 MyBatis 全面讲解
spring boot·后端·mybatis
Java水解4 小时前
Spring Boot 数据仓库与ETL工具集成
spring boot·后端