想将其他模块的 Entity、Mapper 和 Service 集中到 Common 模块中?
使用 spring Cloud Alibaba 2021.0.1 spring boot 2.6.4,如何让其他业务模块的 Entity、Mapper 和 Service 都集中管理在 Common 模块中?
问题的尝试和解决
- 扫描 Common 模块中的包会报错:org.springframework.beans.factory.BeanCreationException: …
- 添加 @ComponentScan 扫描所有包也会报错:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean…
正确的配置
根据描述的情况,在 merchant 模块和 supply 模块中,配置如下:
- spring 包扫描:scanBasePackages = “com.quanneng”
- mapper 接口配置:@MapperScan(“com.quanneng.mapper”)
- swagger 接口扫描配置:按照swagger的配置
此外,统一异常处理只允许存在于一个模块中。
其他建议
将 Common 模块编写成一个 Spring-Boot-Starter 也是一个可行的方案,这样可以避免包扫描问题。