DI(依赖注入)是IoC(控制反转)思想的一种体现,也是由Spring容器进行创建和注入。
依赖注入:可以让我们创建对象的时候,给引用类型数据同时赋值;
IoC的优点:
将对象和对象之间的依赖进行解耦。
如何给Bean的属性赋值(注入)
在applicationcontext.xml中
1.通过构造方法设置值.
2.设置注入(通过set方法)
2.1 如果属性是基本数据类型或String等简单
<bean id="peo" class="com.mzx.pojo.People">
<property name="id" value="222"></property>
<property name="name" value="张三"></property>
</bean>
2.1.1 等效于
<bean id="peo" class="com.mzx.pojo.People">
<property name="id">
<value>456</value>
</property>
<property name="name">
<value>张三</value>
</property></bean>
2.2 如果属性是Set<?>
<property name="sets">
<set>
<value>1</value>
<value>2</value>
<value>3</value>
</set>
</property>
2.3 如果属性是List<?>
<property name="list">
<list>
<value>1</value>
<value>2</value>
</list>
</property>
2.3.1 如果list中就只有一个值
<property name="list" value="1">
</property>
2.4 如果属性是数组
2.4.1 如果数组中就只有一个值,可以直接通过value属性赋值
<property name="strs" >
<array>
<value>1</value>
<value>2</value>
</array>
</property>
2.5 如果属性是map
<property name="map">
<map>
<entry key="a" value="b" >
</entry>
<entry key="c" value="d" >
</entry>
</map>
</property>
2.6 如果属性Properties类型
<property name="demo">
<props>
<prop key="key">value</prop>
<prop key="key1">value1</prop>
</props>
</property>
依赖注入DI(Dependency Injection)
1. DI是什么?
DI和IoC是一样的, 当一个类(A)中需要依赖另一个类(B)对象时,把B赋值给A的过程就叫做依赖注入.
2.代码体现:
<bean id="peo" class="com.mzx.pojo.People">
<property name="desk" ref="desk"></property>
</bean>
<bean id="desk" class="com.mzx.pojo.Desk">
<property name="id" value="1"></property>
<property name="price" value="12"></property>
</bean>
木子璇总结时刻:欢迎小伙伴们提出建议哦,如有错误,望大神指出哦,谢谢啦。