Spring数组、集合的注入

实体类

package domain;

import java.util.Arrays;

public class TestArray {
    private String name;
    private Computer computer;
    private String[] array;

    public TestArray() {
    }
    public TestArray(String name, Computer computer, String[] array) {
        this.name = name;
        this.computer = computer;
        this.array = array;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Computer getComputer() {
        return computer;
    }

    public void setComputer(Computer computer) {
        this.computer = computer;
    }

    public String[] getArray() {
        return array;
    }

    public void setArray(String[] array) {
        this.array = array;
    }

    @Override
    public String toString() {
        return "TestArray{" +
                "name='" + name + '\'' +
                ", computer=" + computer +
                ", array=" + Arrays.toString(array) +
                '}';
    }
}

配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:c="http://www.springframework.org/schema/c"
       xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd">


    <!--数组属性的注入-->
    <bean id="testArray" class="domain.TestArray">
        <constructor-arg name="name" value="pgg"></constructor-arg>
        <constructor-arg name="computer">
            <bean name="computer" class="domain.Computer">
                <constructor-arg name="cname" value="111"></constructor-arg>
                <constructor-arg name="price" value="111"></constructor-arg>
            </bean>
        </constructor-arg>
        <constructor-arg name="array">
            <array value-type="java.lang.String" ><!--value-type为数组的类型-->
                <value type="java.lang.String">aaa</value>
                <value>bbb</value>
                <value>ccc</value><!--数组的值 type为值的类型-->
            </array>
        </constructor-arg>
    </bean>
    <!--List集合属性的注入-->
    <bean name="listTest" class="domain.ListTest">
        <property name="name" value="pggg"></property>
        <property name="age" value="18"></property>
        <property name="list">
            <list value-type="java.lang.String">
              <value>fff</value>
            </list>
        </property>
    </bean>
    <!--map集合属性的注入-->
    <bean name="mapTest" class="domain.MapTest">
        <property name="name" value="pgg"></property>
        <property name="maplist">
            <map key-type="java.lang.Integer" value-type="java.lang.String">
                <entry key="1" value="aaa"></entry>
            </map>
        </property>
    </bean>
    <!--读取properties-->
    <bean name="properties" class="domain.PropertiesTest">
        <constructor-arg name="properties">
            <props>
                <prop key="1">888</prop>
                <prop key="2">4444</prop>
                <prop key="3">7777</prop>
            </props>
        </constructor-arg>
    </bean>
    <!--命名空间问题,可以用c:属性名=”值“ 如果是基本类型。用c:属性名=”值“ 如果是对象类型,则用c:属性名-ref=”属性bean对象的name“-->
    <bean name="room" class="domain.Room" c:name="pgg" c:computer-ref="computer"></bean>

    <util:map id="map">
        <entry key="pgg">
            <bean class="domain.Computer"></bean>
        </entry>
    </util:map>
    <bean id="room" class="domain.Room" p:name="pgg" p:map-ref="map" ></bean>
</beans>

Set集合的注入和list一样,只是把list改为set
命名空间问题
可以用c:属性名=”值“ 如果是基本类型。用c:属性名=”值“ 如果是对象类型,则用c:属性名-ref=”属性bean对象的name“

 <!--命名空间问题,可以用c:属性名=”值“ 如果是基本类型。用c:属性名=”值“ 如果是对象类型,则用c:属性名-ref=”属性bean对象的name“-->
    <bean name="room" class="domain.Room" c:name="pgg" c:computer-ref="computer"></bean>

    <util:map id="map">
        <entry key="pgg">
            <bean class="domain.Computer"></bean>
        </entry>
    </util:map>
    <bean id="room" class="domain.Room" p:name="pgg" p:map-ref="map" >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值