将公共组件集中至 spring Cloud Alibaba 中的 common 模块
在 spring cloud Alibaba 架构中,希望将业务模块的实体、映射器和服务集中到 common 模块中,以避免代码重复。
具体步骤:
- 包扫描:在 merchant 和 supply 模块中,添加包扫描配置 scanBasePackages = “com.quanneng”。
- 映射器扫描:在 common 模块中,添加 @MapperScan(“com.quanneng.mapper”) 配置,扫描映射器接口。
- Swagger 接口扫描:在端点上关注接口扫描配置,将其放在 common 模块中。
- 统一异常处理:将统一异常处理程序配置在公共模块中,并在所有业务模块中实现。
替代方案:
也可以使用 spring boot Starter 将 common 模块包装成 starter,这样就无需处理包扫描。
注意:
- 确保 common 模块已依赖于相关模块。
- 统一异常处理机制只能有一个,避免冲突。