一、基本类型的注入
构造注入:
1.构造方法注入 :该实体类必须有对应构造方法
<!-- 使用构造方式注入数据
constructor-arg: 对构造方法中的参数赋值
1)index : 通过构造方法中参数的索引定位参数
2)name : 通过构造方法中参数的名称定位参数
3)type : 通过构造方法中参数类型定位
** 以上三个参数,是用来定位构造方法中参数的
4)value :对基本数据类型参数赋值
5)ref :被spring管理的其他bean对象
** 以上两个参数,是对构造方法中参数赋值的
-->
<constructor-arg name="gameName" value="王者荣耀" ></constructor-arg>
2.set方法注入
通过property标签 ,该实体类必须有对应set方法
<!-- 创建对象交给spring容器管理 -->
<bean id="accountService" class="cn.itcast.service.impl.AccountServiceImpl">
<!-- 创建对象交给spring容器管理 -->
<bean id="accountService" class="cn.itcast.service.impl.AccountServiceImpl">
<!-- 通过set方式注入数据
property
1)name : set方法后面的部分,首字母小写
2)value:注入基本类型数据
3)ref:注入被spring管理的其他bean对象
4)value-ref:注入复杂类型
对于property,调用set方法进行赋值
name gameName
methodName setGameName
反射调用
-->
<property name="gameName" value="绝地求生"></property>
<property name="age" value="15"></property>
</bean>
二、复杂类型注入
1复杂类型之(集合):
数组类型: list set array 结合 其子标签value
<!-- 创建对象交给spring容器管理 -->
<bean id="accountService" class="cn.it.service.impl.AccountServiceImpl">
<property name="gameNames">
<!--
可以通过array结合value对象数组类型的数据赋值
list结合value
set结合value
-->
<!-- <array>
<value>王者荣耀</value>
<value>LOL</value>
</array> -->
<set>
<value>王者荣耀</value>
<value>LOL</value>
</set>
</property>
</bean>
2注入复杂类型之key-value类型(map,property):
key-value类型:
map结合其子标签 entry 默认创建linkedHashSet存储
props结合其子标签 prop 默认创建property
<bean id="accountService" class="cn.it.service.impl.AccountServiceImpl">
<!-- 对于注入key value类型的数据
可以使用map结合entry注入
props 结合 prop 注入
<property name="properties">
<!-- <map>
<entry key="王者荣耀" value="12"></entry>
<entry key="绝地求生" value="15"></entry>
</map> -->
<props>
<prop key="王者荣耀">12</prop>
<prop key="绝地求生">15</prop>
</props>
</property>
</bean>
3.嵌套方式注入 通过value-ref属性
<?xml version="1.0" encoding="UTF-8"?>
<!-- 导入约束 :xsd -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd
">
<!-- 创建对象交给spring容器管理 -->
<bean id="accountService" class="cn.itcast.service.impl.AccountServiceImpl" >
<!-- 对于注入key value类型的数据
可以使用map结合entry注入
props 结合 prop 注入
-->
<property name="maps">
<map>
<entry key="王者荣耀" value-ref="mapList"></entry>
<entry key="绝地求生" value-ref="mapList"></entry>
</map>
</property>
</bean>
<!-- 创建list集合 -->
<util:list id="mapList">
<value>1</value>
<value>2</value>
<value>3</value>
</util:list>
</beans>