Spring框架——IOC(三)xml注入集合属性

注入集合属性

1.常见属性

首先在给出集合属性,并且生成了对应的set的方法的前提下。我们来进行注入

<bean id="stu" class="comspring5.Stu">
 <!--数组类型属性注入-->
 <property name="courses">
     <array>
         <value>java</value>
         <value>python</value>
     </array>
 </property>
 <!--list 类型属性注入-->
 <property name="list">
     <list>
         <value>张三</value>
         <value>小三</value>
     </list>
 </property>
 <!--map 类型属性注入-->
 <property name="maps">
     <map>
         <entry key="JAVA" value="java"></entry>
         <entry key="PHP" value="php"></entry>
     </map>
 </property>
 <!--set 类型属性注入-->
 <property name="sets">
     <set>
         <value>MySQL</value>
         <value>Redis</value>
     </set>
 </property>

        这里说明了四种常见类型的集合。array集合类型。list集合类型。map集合类型。set集合类型。这里的注入大同小异,只需要注意对应的标签即可,知识map对应的值有key和value被含有在entry的标签里,这里需要注意

2、注入对象属性

当注入对象属性的时候采用的是类似于外部bean的那种链接方式。这里以list来举例说明。

<bean id="course1" class="com.spring5.Course">
     <property name="cname" value="java"></property>
</bean> 

<bean id="course2" class="com.spring5.Course">
     <property name="cname" value="python"></property>
</bean>

<!--注入 list 集合类型,值是对象--> 
<property name="courseList">
     <list>
         <ref bean="course1"></ref>
         <ref bean="course2"></ref>
     </list>
</property>

明显,这里在list下面就是ref标签,通过这个标签把外部的对象属性注入到集合里面。

3、提取集合注入部分

                提取集合的注入部分,也就是说把集合里面的内容提取出来,放在一个单独的空间里,,那么当其他空间也要用集合里面这部分的内容的时候,就可以直接调用。这大大增加了一致性,并且有一定成都的解耦。

        第一步:引用名称空间util。这里与前面的p空间不同的是,这里不仅仅要配置xmlns。还要对xsi进行配置。

        第二步、使用配置好的util标签进行注入提取。

<util:list id="books">
     <value>java</value>
     <value>pathon</value>
     <value>c++</value>
</util:list>
<!--2 提取 list 集合类型属性注入使用--> 
<bean id="book" class="com.spring5.Book">
    <property name="list" ref="books"></property>
</bean>

同样,这里的ref也要与外部引用util下的id保持一致

                

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值