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. *(..):最后这个星号表示方法名,*号表示所有的方法,后面括弧里面表示方法的参数,两个句点表示任何参数。
相关推荐
r***869824 分钟前
springboot三层架构详细讲解
spring boot·后端·架构
h***673734 分钟前
springboot中配置logback-spring.xml
spring boot·spring·logback
阿杰真不会敲代码39 分钟前
Filter与Interceptor深度解析:分清这两个“拦截器”,面试不再掉坑
java·spring boot·面试
w***74408 小时前
SpringBoot项目如何导入外部jar包:详细指南
spring boot·后端·jar
程序员西西11 小时前
SpringBoot接口安全:APIKey保护指南
java·spring boot·计算机·程序员·编程·编程开发
大云计算机毕设11 小时前
2026年计算机专业毕业设计热门选题推荐(微信小程序、Spring Boot、Python、大数据)
spring boot·毕业设计·课程设计·论文笔记·毕设
高级程序源12 小时前
springboot社区医疗中心预约挂号平台app-计算机毕业设计源码16750
java·vue.js·spring boot·mysql·spring·maven·mybatis
y***613112 小时前
SpringBoot集成Flowable
java·spring boot·后端
i***586712 小时前
springcloud springboot nacos版本对应
spring boot·spring·spring cloud
s***385613 小时前
SpringBoot中如何手动开启事务
java·spring boot·spring