项目想注入一个starter依赖包中的bean,启动spring容器出现问题


按照常理,我们的maven项目里面引入一个外部依赖,

如果该依赖的其中一个bean上面有@Component注解也就是说,项目启动过时该bean已经注入到了spring容器中,

那我们的在开发时,是可以对该bean使用@Autowried进行依赖注入,但是注入之后启动却报错,

这是为什么?

研究发现,因为我引入的依赖是一个starter,springboot的starter有自己的一套标准,一套协议,每个starter里面规定了哪些bean是可以注入的,我们程序在引入该starter的时候,

他其实已经被规定好了,我们不需要单独去注入他的某个bean,如果非要注入,那得检查该bean是否在该starter的spring.factories文件中是否配置,

也就是说 ,starter是在spring.factories文件中规定了哪些bean是自动注入的,他只需对外提供注解,或者application.properties文件中的自动提示(key-value形式的配置)。这样就是简化我们使用成本,

要不为啥人家要叫做自动化装配呢。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM