Spring复杂类型属性注入(XML)

  • 实体类:

    CollectionBean.java
    package cn.jjs.c_injection;
    
    import java.util.Arrays;
    import java.util.List;
    import java.util.Map;
    import java.util.Properties;
    
    public class CollectionBean {
      private Object[] arr;
      private List list;
      private Map map;
      private Properties prop;
    
      public Object[] getArr() {
          return arr;
      }
    
      public void setArr(Object[] arr) {
          this.arr = arr;
      }
    
      public List getList() {
          return list;
      }
    
      public void setList(List list) {
          this.list = list;
      }
    
      public Map getMap() {
          return map;
      }
    
      public void setMap(Map map) {
          this.map = map;
      }
    
      public Properties getProp() {
          return prop;
      }
    
      public void setProp(Properties prop) {
          this.prop = prop;
      }
    
      @Override
      public String toString() {
          return "CollectionBean{" +
                  "arr=" + Arrays.toString(arr) +
                  ", list=" + list +
                  ", map=" + map +
                  ", prop=" + prop +
                  '}';
      }
    }
    
  • Array类型

    如果array数组中只注入一个值|对象,直接使用value|ref即可

    <?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:p="http://www.springframework.org/schema/p"
         xsi:schemaLocation="http://www.springframework.org/schema/beans
                             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    
      <bean name="user4" class="cn.jjs.c_injection.CollectionBean">
          <property name="arr" value="Tom"></property>
      </bean>
    </beans>

    数组多个元素注入:

    <?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:p="http://www.springframework.org/schema/p"
         xsi:schemaLocation="http://www.springframework.org/schema/beans
                             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
      <!--set方法注入-->
      <bean name="user" class="cn.jjs.bean.User">
          <!--2 为car属性注入下方配置的car对象-->
          <property name="name" value="Tom"></property>
          <property name="age" value="18"></property>
          <property name="car" ref="carRef"></property>
      </bean>
    
      <!--1 将Car对象配置到容器中-->
      <bean name="carRef" class="cn.jjs.bean.Car">
          <property name="name" value="Toyota"></property>
          <property name="color" value="white"></property>
      </bean>
    
    
      <bean name="user2" class="cn.jjs.bean.User" p:name="jack" p:age="30" p:car-ref="carRef"></bean>
    
      <bean name="user3" class="cn.jjs.bean.User">
          <property name="name" value="#{user.name}"></property>
          <property name="age" value="#{user2.age}"></property>
          <property name="car" ref="carRef"></property>
      </bean>
    
      <bean name="cdd" class="cn.jjs.c_injection.CollectionBean">
          <property name="arr">
              <array>
                  <value>Jerry</value>
                  <value>Tom</value>
                  <ref bean="user3"/>
              </array>
          </property>
      </bean>
    </beans>
  • list类型

    list同array。

    <property name="list">
      <list>
          <value>Liutao</value>
          <value>Halle</value>
        <ref bean="user3"/>
    </list>
    </property>
  • map类型

<property name="map">
    <map>
        <!--key为值,value为值-->
        <entry key="url" value="http://www.baidu.com"></entry>
        <!--key为值,value为对象-->
        <entry key="user" value-ref="user3"></entry>
        <!--key为对象,value为对象-->
        <entry key-ref="user" value-ref="user2"></entry>
    </map>
</property>
  • properties类型

    <property name="prop">
      <props>
          <prop key="driveClass">com.jdbc.mysql.Driver</prop>
          <prop key="username">root</prop>
          <prop key="password">1234</prop>
      </props>
    </property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值