背景:笔者在构建微服务时,很多个微服务之间都有相同的一些功能或者组件,所以大多数的做法是抽取出来,做一个公共基础模块,供各微服务调用,以springboot为例,项目中,各个微服务都需要做一个统一异常处理,所以需要把这个统一异常处理的功能抽取到公共模块中。
整体项目结构如下:
问题:但是,笔者在使用过程中,发现微服务并没有成功引用@RestControllerAdvice统一处理异常类,该类写在base模块下。
解决办法一般有一下几种方式:
1、添加注解,并指定包名
@ComponentScan({"com.gp"})
2、添加注解,并指定类名
@Import(value = com.gp.base.advice.RestExceptionHandler.class)
3、最好的方法是在项目结构上注意,把要这些包都放在同一个包下。