复刻项目过程中,项目启动报错,出现了如图的这个问题
A component required a bean named xxx that could not be found.
这其实是一个很简单的问题,显而易见就是有Bean没有被到注入Spring容器嘛
因为之前写的项目大多都是单体应用,没接触过这种大型的分布式架构项目。这个未被注入的Bean就是API中的一部分,所以我们在写代码时候,虽然可以用引入依赖(在Pom加入jar)的方式,并像其他的bean一样使用@Resource把它当做bean使用。但是在启动类上一定要用@ComponentScan扫描这个包,这样它才会被Spring容器接管
还有一些其他的问题:
pom文件中配置,一定要确保自己项目的application.yml是可用的,如图
env下两个目录,第一个是测试yml文件,第二个是本地yml文件
在pom文件中通过以下代码可达到启用任意yml配置文件的效果
<profiles> <profile> <id>dev</id> <properties> <profileActive>dev</profileActive> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profiles>
总结:Spring并不是只会浅浅会用就完事的,有时间要抽空看一下Spring的加载原理