Spring依赖注入 DI
Posted weishenme
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring依赖注入 DI相关的知识,希望对你有一定的参考价值。
DI:Dependency Injection(依赖注入)
從字面上分析:
IOC:指將對象的創建權,反轉給了Spring容器;
DI:指的是Spring創建對象的過程中,將對象依賴屬性(簡單值,集合,對象)通過配置設值給該對象。
IOC和DI其實是同一個概念的不同角度描述,DI相對IOC而言,明確描述了“被注入對象依賴IOC容器配置依賴對象”。
所謂的依賴注入,就是屬性不創建對象,通過配置文件的配置將spring容器裡面的對象注入給對應的屬性
依賴注入有四種方式
1.setter注入,(属性注入)
1.setter注入,(也可以称之为属性注入)
使用setter注入:
1,使用bean元素的<property>子元素設置:
1.簡單類型值,直接使用value賦值;
2.引用類型,使用ref賦值;
3.集合類型,直接使用對應的集合類型元素即可。
2,spring通過屬性的setter方法注入值;
3,在配置文件中配置 的值都是string,spring可以自動的完成類型的轉換
2. 构造器注入
1默認情況下,construction-arg的順序就是構造器參數的順序
2,3中调整构造器顺序:
1.index:在构造器中的参数索引(从0开始)
2.type:在构造器中的参数的类型
3.name:在构造器中按照构造器的参数名字设置值
====================
使用哪种注入方式比较好(setter?构造器?)?
1,如果一个类必须依赖另一个类才能正常运行,用构造器;
2,但是构造器的参数如果过多,构造器很难看;
3,更多的还是使用setter注入;
4,可以使用@Required标签来要求一个属性必须注入
以上是关于Spring依赖注入 DI的主要内容,如果未能解决你的问题,请参考以下文章