在 spring Cloud Alibaba 中集中多个模块的实体、映射器和服务
问题:如何在 spring cloud Alibaba 中将其他业务模块的实体、映射器和服务集中到 common 模块中?
解答:
为了实现这一目标,需要遵循以下步骤:
- 扫描基础包:在启动类中添加 @SpringBootApplication(scanBasePackages = “com.quanneng”) 注解,其中 “com.quanneng” 是 common 模块的基础包。这将使 Spring 扫描所有模块中的组件。
- 映射器扫描:在 common 模块中添加 @MapperScan(“com.quanneng.mapper”) 注解,以扫描所有映射器接口。
- Swagger 接口扫描:在每个端点模块(如 merchant 模块)中,为控制器添加接口扫描,以便在 Swagger ui 中显示接口文档。
- 统一异常处理:只能有一个统一异常处理,因此需要将此配置放在 common 模块中。
建议:
为了进一步简化配置,可以将 common 模块创建为一个 spring boot starter。这将避免处理基础包扫描问题。