最近项目考虑到将一些业务模块抽成公共组件,由具体服务引入即可用,主要为一些数据库配合实现。
第三方组件项目结构:
以上为一个基础模块的一些业务实现
扫描包配置:
/**
* @author Peng
* @program
* @description
* @create 2022/3/30 16:50
**/
@ComponentScan("com.xxx.xxx.component.service.impl")
public class SpringScanConfig {
}
以上为将spring扫描包配置进去
因为@ComponentScan注解只能将spring boot项目目录下的类扫描进 Spring 容器中,但由于我们是第三方依赖引入进去,是无法扫描到的。此时,我们需要使用 spring.factories来注册项目依赖包中的 bean
spring.factories:此处将刚刚配置扫描包的类注册到spring,再借由SpringScanConfig将service扫描到spring容器中
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.gobon.gbjk.component.config.SpringScanConfig
mybatis配置修改
需写成classpath*,而不是classpath,后面加一个*。
classpath:只会在当前应用下的资源文件下查找。
classpath*:会在所依赖的jar中扫描资源文件
服务调用:
因为项目使用到私仓,将配置好的组件推送到私仓,服务直接依赖即可作为组件使用