当前位置: 首页 > news >正文

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

问题描述

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


解决方案:

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

排除某个接口

// 定义切点,包括所有接口的方法,除了login接口
@Pointcut("execution(* com.example.package1..*.*(..)) && !execution(* com.example.controller.testController.login(..))")
public void myPointcut() {
}

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

  1. execution(): 表达式主体,可以扫描控制层的接口、某个注解、或者其他需要扫描的类。
  2. 第一个*号:表示返回类型,*号表示所有的类型,比如public,protect,private等。
  3. 包名:表示需要拦截的包名,后面的两个句点表示当前包和当前包的所有子包,com.demo.service.impl包、子孙包下所有类的方法。
  4. 第二个*号:表示子包名,*号表示所有子包。
  5. 第三个*号:表示类名,*号表示所有子包下的类。
  6. *(..):最后这个星号表示方法名,*号表示所有的方法,后面括弧里面表示方法的参数,两个句点表示任何参数。

相关文章:

  • el-table的border属性失效问题解决方案
  • 备战秋招(coding篇)
  • matlab simulink 电力系统同步发电机励磁系统的建模与仿真
  • oracle实现批量插入
  • 代码随想录算法训练营第五十三天|LeetCode1143 最长公共子子序列、LeetCode1035 不相交的线、LeetCode53 最大子序和
  • Docker——问题解决:服务器端和Windows端IP互通
  • Spring Data访问Elasticsearch----其他Elasticsearch操作支持
  • Rust构建高性能爬虫程序
  • Linux系统之安装java开发环境
  • 部署Elasticsearch集群,实现海量航迹数据存储
  • 如何在 Java 中造成内存泄漏?
  • LeetCode 爬楼梯(动态规划题解)
  • 【逆向】常用指令操作adb和logcat
  • 【Ubuntu】FTP站点搭建
  • 我手写的轮子开源了
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • [译]CSS 居中(Center)方法大合集
  • Consul Config 使用Git做版本控制的实现
  • ES6语法详解(一)
  • Github访问慢解决办法
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • MySQL几个简单SQL的优化
  • PAT A1120
  • 成为一名优秀的Developer的书单
  • 翻译:Hystrix - How To Use
  • 利用jquery编写加法运算验证码
  • 每天一个设计模式之命令模式
  • 批量截取pdf文件
  • 设计模式 开闭原则
  • 听说你叫Java(二)–Servlet请求
  • 通过几道题目学习二叉搜索树
  • 新书推荐|Windows黑客编程技术详解
  • 学习JavaScript数据结构与算法 — 树
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • Python 之网络式编程
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 阿里云ACE认证之理解CDN技术
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​第20课 在Android Native开发中加入新的C++类
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #QT(智能家居界面-界面切换)
  • #stm32整理(一)flash读写
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (5)STL算法之复制
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (办公)springboot配置aop处理请求.
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (三)Honghu Cloud云架构一定时调度平台
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)