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. *(..):最后这个星号表示方法名,*号表示所有的方法,后面括弧里面表示方法的参数,两个句点表示任何参数。
相关推荐
Java成神之路-32 分钟前
面试题:@Controller 与 @RestController 区别
java·spring boot
aLTttY2 小时前
Spring Boot 3.x 集成 AI 大模型实战指南
人工智能·spring boot·后端
凤山老林3 小时前
Spring Boot 集成 TigerGraph 实现图谱分析技术方案
java·spring boot·后端·图谱分析·tigergraph
.生产的驴3 小时前
SpringBoot 大文件分片上传 文件切片、断点续传与性能优化 切片技术与优化方案 文件高效上传
java·服务器·spring boot·后端·spring·spring cloud·状态模式
m0_3801138415 小时前
补单系统搭建及源码分享
数据库·spring boot·mybatis
练习时长一年15 小时前
Spring配置类的演化
java·spring boot·spring
阿丰资源16 小时前
基于SpringBoot+MySQL的社区团购系统设计与实现(附源码+文档+数据库,直接运行)
数据库·spring boot·mysql
阿丰资源16 小时前
基于SpringBoot+MySQL的网上订餐系统(附源码)
spring boot·后端·mysql
希望永不加班16 小时前
SpringBoot 敏感数据脱敏(序列化层)
java·spring boot·后端·spring
希望永不加班16 小时前
SpringBoot 数据库索引优化:慢查询分析
java·数据库·spring boot·后端·spring