全局异常处理@RestControllerAdvice失效

  • 问题描述
    在项目中使用了全局异常处理,异常处理的代码逻辑被抽取到一个公共的模块,但是在抛出异常的业务模块中的异常没有被这个公共模块@RestControllerAdvice捕获。

  • 问题定位
    在发现问题后,在全局异常处理的代码逻辑中加入断点debug发现代码并没有进入这个方法。在这里插入图片描述
    两个模块的包结构如下:

  • common模块, 全局异常的处理

  • 在这里插入图片描述

  • 业务模块 抛出异常的模块

  • 在这里插入图片描述

  • 解决问题

  • 由于springboot的自动扫包是默认扫描启动类所在目录为根目录,也就是com.quantum.product下的包以及配置。然而在common模块中,处理异常的逻辑是在com.quantum下。因此这里没有扫描到这些代码逻辑。我们需要在业务代码中加入@SpringBootApplication(scanBasePackages = {“com.quantum”})来指定扫描。

  • 在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值