依赖注入有两种方式:
1 构造注入,如果<bean>标签下使用<contructor-arg>,则是构造注入
2 setter注入,就是调用setter方法注入,如果<bean>标签下使用<property>标签,就是setter注入
2.1: 如果属性是基本数据类型或 String 等简单类型
<bean id="peo" class="com.bjsxt.pojo.People">
<property name="id" value="222"></property>
<property name="name" value=" 张三 "></property>
</bean>
上面的写法等效于下面
<bean id="peo" class="com.bjsxt.pojo.People">
<property name="id">
<value>456</value>
</property>
<property name="name">
<value>zhangsan</value>
</property>
</bean>
2.2 复杂类型的注入
2.2.1 集合类型的数组set<?>,问号代表泛型
<property name="sets">
<set>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
</set>
</property>
2.2.2 列表的注入 List<?>
<property name="list">
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</property>
如果List<?>的元素是对象
则如下:
<property name="aList">
<list>
<ref bean="a"/>
</list>
</property>
如果list中只有一个值
<property name="list" value="1">
</property>
2.2.3 注入的类型为数组 ,如果数组中就只有一个值,可以直接通过 value 属性赋值,同理如果数组元素为对象,<array>标签下用<ref>标签
<property name="strs" >
<array>
<value>1</value>
<value>2</value>
<value>3</value>
</array>
</property>
2.2.4 如果注入的数据类型为Map ,
<property name="map">
<map>
<entry key="a" value="b" > </entry> <entry key="c" value="d" ></entry> </map>
</property>
如果值是对象,则如下
<property name="map">
<map >
<entry key="" value-ref=""></entry>
</map>
</property>
<entry> 标签中有,key,key-ref, value,value-ref等属性
2.4.5 如果属性 Properties 类型
<property name="demo">
<props>
<prop key="key">value</prop>
<prop key="key1">value1</prop>
</props>
</property>