java_spring依赖注入与自动装配区别

自己之前使用时,都是注解方式,最近复习spring基础时才注意到这个问题。
借助搜素引擎,从网上搜罗了下不同的观点。

搜索资料整理如下:
01,本来就是一个东西,被你强分成两个来说,都快把人说分裂了;
见:https://www.oschina.net/question/2843307_2274340

02,单纯从名字上解释的话:依赖注入是你依赖什么类,我给你注入进去,不需要你自己写这个类的初始化代码了。装配是注入的另一种说法,把依赖注入进去实际就是在做装配的工作。自动装配,是在简化装配的过程,你写一个配置文件,规定A注入给B、C注入给D是依赖注入,但是如果每个类都写,就不是自动装配,而是手动装配。自动装配是A声明自己提供A,B需要A的时候我自动帮你注进去。打个比方,依赖注入就是给养鸡场的每只鸡喂食,自动装配就是喂食是通过自动化的传送带来完成的。
见:https://www.zhihu.com/question/446076961

03,一般不推荐使用,因为它的模糊度太大,如果出现了两种同一类型的它不知道要找那一个,作为了解就好。重点是我们平时需要用到的基本数据类型与String字符串类型、String的字面量不可以进行自动装配。
见:https://blog.csdn.net/springlsl/article/details/107084165

04,依赖注入的本质就是装配,装配是依赖注入的具体行为
见:https://blog.csdn.net/qq_20367813/article/details/80940366

个人见解:
自动装配:针对的是一个类下的所有属性(所以可能是多个),所以是一次批量操作(多个)。
依赖注入:针对的类的一个特定属性,所以是一次操作(一个)。
简单来说把自动装配视为:一组“依赖注入”
纯属拙见,若有不同意见,欢迎沟通
不过这个其实也没必要太纠结,因为自动装配的实际使用的并不多,最常用的还是注解方式进行注入,明确且灵活。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×