多模块下依赖其他模块(例如Common模块)时的解决办法

在多模块下,使用Knife4j进行接口测试时发现,全局异常处理器无法捕获自定义异常,经检查,已经在该模块下的依赖文件中引入相关模块,但是在返回给前端数据时,对于错误的请求返回的还是
message:Internal server error
status:500
但是在后端却能显示自己抛出的自定义异常消息!
在经过网上的搜索无果后尝试自己追踪问题根源,发现全局异常处理器工作正常,但是模块无法扫描到全局异常处理器,最后突然想起来可以手动扫描配置类,于是顺利解决,至于使用方法可见另一篇文章,但相比之下不如以下方法更简单
在问题解决后并没有就此罢休,想借此机会找到更优质解决方案,在经过一段时间查找后,从其他网页偶然发现了以下方法(已测试通过):

当多模块项目下,若A模块需要依赖Common模块,应当在Common模块下创建com.example.config.ModelNameConfiguration.java配置类,如下:

package com.example.common.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

/**
 * @Configuration 注解表示该类为配置类
 * @ComponentScan 注解表示扫描该模块中的某些包,注解内的参数为数组类型
 * 使用{"com.example.common.A","com.example.common.B"}表示多个包
 */
@Configuration
@ComponentScan({
        "com.example.common.exception.handler",
        "com.example.common.utils"})
public class CommonConfiguration {
}

而后,在需要引用它的模块的启动类上,添加如下注解

@Import({CommonConfiguration.class})

若需要引用多个模块,同上,@Import注解的参数为数组类型

Date:2022/12/07 20:33
Author:Evan.LJ

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北葵向暖1

希望大家能支持一下!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值