项目结构如下:
father:
module A
module B
module A中引入jdbcTemplate 进行数据库操作;
module B依赖于module A。
B打成jar包运行,报错:
required a bean of type 'org.springframework.jdbc.core.JdbcTemplate' that could not be found.
在排除模块依赖错误和数据源配置错误后。检查代码,发现入口程序注解有误:
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
@ComponentScan({"com.center.A","com.center.B"})
应该不使用制动配置,改为:@SpringBootApplication
重新打包,问题解决
另外,module A作为多模块项目的子模块,不直接通过启动类运行而仅仅只是其他模块的一个依赖,那么这个子模块application.properties或yml是不会自动加载的。 所以,相关数据源的配置应该配置到module B中。