A component required a bean named xxx that could not be found

亡梦爱人 提交于 2020-01-16 10:59:51

复刻项目过程中,项目启动报错,出现了如图的这个问题

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的加载原理

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!