特殊类型注入-集合类型

集合

配置

配置集合和配置数组差不多,集合采用 list 标签,标签下再使用 ref 引用外部 bean

<bean id="dept" class="com.study.spring6.iocxml.deptAndEmp.Dept">
    <property name="dName" value="IT"/>
    <property name="emps">
        <list>
            <ref bean="emp1"/>
            <ref bean="emp2"/>
        </list>
    </property>
</bean>

<bean id="emp1" class="com.study.spring6.iocxml.deptAndEmp.Emp">
    <property name="name" value="mary"/>
    <property name="age" value="20"/>
    <property name="dept" ref="dept"/>
    <property name="love">
        <array>
            <value>跑步</value>
            <value>睡觉</value>
            <value>学习</value>
        </array>
    </property>
</bean>

<bean id="emp2" class="com.study.spring6.iocxml.deptAndEmp.Emp">
    <property name="name" value="sy"/>
    <property name="age" value="11"/>
    <property name="dept" ref="dept"/>
    <property name="love">
        <array>
            <value>跑步</value>
            <value>睡觉</value>
            <value>学习</value>
        </array>
    </property>
</bean>

执行结果

第一句话是写在 dept 的 tostring() 里的

该部门有以下员工: 
mary
sy
Dept{dName='IT'}

Map

尚硅谷 Spring - 28

准备

image

配置

image

配置的注意事项:

  1. 使用 map 表示 map 集合的开始,使用 entry 表示一个键值对
  2. <key> 标签中的 <value> 标签,并不是 key-value,而是表示 key 的字面量
  3. 由于该 map 的 value 是一个对象,因此使用 <ref> 标签,若为普通类型,则使用 <value> 标签即可。

引用集合类型的 bean

具体的步骤如下:

  1. 创建对象相应的 bean
  2. 对这些 bean 注入普通类型属性
  3. 使用 <util:类型> 定义集合类型的 bean
  4. 在学生 bean 引入 util

注意:若要使用 <util> 标签,则需要引入:

image

配置

image

配置好 util 类型的 bean 之后,就只要再需要用到的地方 ref 一下就行

posted @ 2023-07-15 13:47  ShaunY  阅读(4)  评论(0编辑  收藏  举报