如何在 spring cloud alibaba 中集中管理其他模块的实体、映射器和服务?
在 spring cloud alibaba 中,将其他模块的实体、映射器和服务集中到 common 模块中完全可行。以下是实现步骤:
1. spring 扫描配置
在每个模块的启动类中添加以下扫描配置,将所有模块的包添加到扫描范围内:
@springbootapplication(scanbasepackages = {"com.quanneng"})
2. 映射器扫描
在 common 模块中添加以下配置,扫描所有模块中的映射器接口:
@mapperscan("com.quanneng.mapper")
3. swagger 配置(可选)
如果你希望在 common 模块中集中管理 swagger 配置,可以在 common 模块中添加以下配置:
# springfox - swagger/openapi 3.0 springdoc: swagger-ui: path: /api/swagger-ui.html
4. 统一异常处理(可选)
如果你希望在 common 模块中集中管理统一异常处理,可以使用 @controlleradvice 注解:
@RestControllerAdvice public class GlobalExceptionHandler { // 异常处理逻辑 }
5. 注意要点
- 确保每个模块都依赖于 common 模块。
- 如果使用 mybatis-plus,需要在每个模块的配置文件中配置数据源。
- 建议考虑将 common 模块打包为 spring boot 起始器,以简化其他模块的配置。