spring 依赖注入之数组,list,map,p命名空间

项目结构

首先是数组

    <bean id="studentFive" class="com.red.spring.pojo.Student">
        <property name="sid" value="1004"></property>
        <property name="sname" value="赵六"></property>
        <property name="age" value="26"></property>
        <property name="gender" value="男"></property>

        <property name="clazz" ref="clazzOne"></property>
        <property name="clazz.cid" value="2222"></property>
        <property name="clazz.cname" value="远大前程班"></property>
        <property name="hobby">
            <array>
                <value>唱</value>
                <value>跳</value>
                <value>rap</value>
            </array>
        </property>
    </bean>

 test类运行结果

接下来是list

    <bean id="clazzOne" class="com.red.spring.pojo.Clazz">
        <property name="cid" value="1111"></property>
        <property name="cname" value="最强王者班"></property>
        <property name="students">
<!--            内部bean赋值-->
            <list>
                <ref bean="studentOne"></ref>
                <ref bean="studentTwo"></ref>
                <ref bean="studentThree"></ref>
            </list>
        </property>
    </bean>

 运行结果

如果我们想配置一个集合类型的bean,就需要使用util的约束
    <util:list id="studentList">
        <ref bean="studentOne"></ref>
        <ref bean="studentTwo"></ref>
        <ref bean="studentThree"></ref>
    </util:list>

此时idea会自动添加约束

添加前

 添加后

更改配置文件,此时用ref引用类型,引用util约束的集合类型bean,id为studentList

    <bean id="clazzOne" class="com.red.spring.pojo.Clazz">
        <property name="cid" value="1111"></property>
        <property name="cname" value="最强王者班"></property>
        <property name="students" ref="studentList"></property>
<!--            内部bean赋值-->
<!--            <list>-->
<!--                <ref bean="studentOne"></ref>-->
<!--                <ref bean="studentTwo"></ref>-->
<!--                <ref bean="studentThree"></ref>-->
<!--            </list>-->
    </bean>

 测试

接下来介绍map

新建teacher类

public class Teacher {
    private Integer tid;
    private String tname;

    public Teacher() {
    }

写配置文件

        <property name="teacherMap">
            <map>
                <entry key="1006" value-ref="teacherOne"></entry>
                <entry key="10001" value-ref="teacherTwo"></entry>
            </map>
        </property>

运行

同理也可以使用util

    <util:map id="studentMap">
        <entry key="10086" value-ref="teacherOne"></entry>
        <entry key="10001" value-ref="teacherTwo"></entry>
    </util:map>

    <bean id="clazzOne" class="com.red.spring.pojo.Clazz">
        <property name="cid" value="1111"></property>
        <property name="cname" value="最强王者班"></property>
        <property name="students" ref="studentList"></property>
<!--        <property name="teacherMap">-->
<!--            <map>-->
<!--                <entry key="1006" value-ref="teacherOne"></entry>-->
<!--                <entry key="10001" value-ref="teacherTwo"></entry>-->
<!--            </map>-->
<!--        </property>-->
        <property name="teacherMap" ref="studentMap"></property>
    </bean>

最后是p命名空间

    <bean id="studentSix" class="com.red.spring.pojo.Clazz"
          p:cid="1006"
          p:cname="小小红"
          p:students-ref="studentFive"
          p:teacherMap-ref="studentMap">
    </bean>

测试结果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值