SpringBoot服务间依赖 扫描springbean问题

最近项目需要将两个服务合并为一个,副服务打成jar包由主服务依赖碰到了扫描不到bean的问题

解决方法:使用springboot的自动装配配合@componetScan注解扫描整个第三方jar包

在副服务最外层包创建一个Scanner类,打上@Configuration注解并在resources目录下创建 META-INF\spring.factories 注意META-INF目录也要创建,并输入如下配置

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  com.zyc.test.Scanner

第二行为Scanner类路径,至此由主服务依赖此jar包便能够注册Scanner类的springbean

 

进一步注册jar包中的springbean

在Scanner类中打上@ComponentScan注解,便能扫描到Scanner类路径下使用了@computer及其衍生注解的bean

这里要注意的是注册dao层的bean需要额外注解,

Mybatis 需要 @MapperScan,

JPA需要@EntityScan与@EnableJpaRepositories

之后便能在主服务中扫描到所有jar包的springbean了

你可能感兴趣的:(BUG,JAVA)