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. *(..):最后这个星号表示方法名,*号表示所有的方法,后面括弧里面表示方法的参数,两个句点表示任何参数。
相关推荐
图南随笔1 分钟前
Spring Boot(二十三):RedisTemplate的Set和Sorted Set类型操作
java·spring boot·redis·后端·缓存
麦兜*13 分钟前
Spring Boot 整合 Apache Doris:实现海量数据实时OLAP分析实战
大数据·spring boot·后端·spring·apache
pyniu17 分钟前
Spring Boot车辆管理系统实战开发
java·spring boot·后端
南屿欣风26 分钟前
Sentinel 资源异常处理优先级笔记
spring boot·笔记·sentinel
Overt0p34 分钟前
抽奖系统(6)
java·spring boot·redis·设计模式·rabbitmq·状态模式
独断万古他化35 分钟前
【SpringBoot 日志】日志级别与配置:分类、使用及持久化全攻略
java·spring boot·后端·java-ee
while(1){yan}40 分钟前
拦截器(详解)
数据库·spring boot·spring·java-ee·拦截器
柒.梧.44 分钟前
Spring Boot集成JWT Token实现认证授权完整实践
java·spring boot·后端
indexsunny1 小时前
互联网大厂Java面试实战:基于电商场景的Spring Boot与微服务技术问答
java·spring boot·微服务·面试·hibernate·电商场景·技术问答
内存不泄露1 小时前
基于Spring Boot和Vue 3的智能心理健康咨询平台设计与实现
vue.js·spring boot·后端