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. *(..):最后这个星号表示方法名,*号表示所有的方法,后面括弧里面表示方法的参数,两个句点表示任何参数。
相关推荐
大阿明2 小时前
Spring Boot(快速上手)
java·spring boot·后端
哆啦A梦15882 小时前
Springboot整合MyBatis实现数据库操作
数据库·spring boot·mybatis
星轨zb4 小时前
通过实际demo掌握SpringSecurity+MP中的基本框架搭建
数据库·spring boot·spring security·mp
没有bug.的程序员6 小时前
Serverless 弹性扩容引发的全线熔断:Spring Boot 启动耗时从 1s 压缩至 0.3s 的物理级绞杀
java·spring boot·kubernetes·serverless·扩容·线上
luom01028 小时前
SpringBoot - Cookie & Session 用户登录及登录状态保持功能实现
java·spring boot·后端
希望永不加班8 小时前
SpringBoot 核心配置文件:application.yml 与 application.properties
java·spring boot·后端·spring
毕设源码-朱学姐9 小时前
【开题答辩全过程】以 基于SpringBoot+Vue的百货商品进出货平台为例,包含答辩的问题和答案
java·spring boot·后端
夜空下的星10 小时前
springboot实现Minio大文件分片下载
java·spring boot·后端
程序员老乔13 小时前
Java 新纪元 — JDK 25 + Spring Boot 4 全栈实战(三):虚拟线程2.0,电商秒杀场景下的并发革命
java·开发语言·spring boot
于慨14 小时前
spring boot
java·数据库·spring boot