spring的list,set,map的依赖注入

DI称之为依赖注入,也叫控制反转(Ioc)。
依赖注入的意义是:让组件依赖于抽象,当组件要与其它实际对象发生依赖关系时,通过抽象来注入依赖的实际对象。这话听起来有点抽象,我们就通过实际列子来看看什么是依赖注入吧。

 

依赖注入主要有以下几种方式:属性注入,集合注入,set注入,方法注入,构造注入。

 

先来讲下集合注入:
java中的集合主要有:List,Set,Map,此外还有个Properties

现在我们通过一个xml文件来实现对这些集合的注入。

 

实现步骤:

新建一个web工程(我IDEMyEclipse6.5),新建两个包com.sw.action,com.sw.test

1. 在com.sw.action包中新建一个java文件:DI,内容如下:

    package com.sw.action;  
      
    import java.util.List;  
    import java.util.Map;  
    import java.util.Properties;  
    import java.util.Set;  
      
    public class DI {  
      
     private Map map;  
      
     private Set Set;  
      
     private List list;  
      
     private Properties pro;  
      
     public Map getMap() {  
      return map;  
     }  
      
     public void setMap(Map map) {  
      this.map = map;  
     }  
      
     public Set getSet() {  
      return Set;  
     }  
      
     public void setSet(Set set) {  
      Set = set;  
     }  
      
     public List getList() {  
      return list;  
     }  
      
     public void setList(List list) {  
      this.list = list;  
     }  
      
     public Properties getPro() {  
      return pro;  
     }  
      
     public void setPro(Properties pro) {  
      this.pro = pro;  
     }  
    }  
2. 在项目的src目录下新建config-di.xml文件,内容如下:
    <?xml version="1.0" encoding="UTF-8" ?>  
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"  
     "http://www.springframework.org/dtd/spring-beans.dtd">  
    <beans>  
     <bean id="di" class="com.sw.action.DI">  
      <!-- List注入 -->  
      <property name="list">  
       <list>  
        <value>list1</value>  
        <value>list2</value>  
        <value>list3</value>  
       </list>  
      </property>  
      <!-- Set注入 -->  
      <property name="set">  
       <set>  
        <value>set1</value>  
        <value>set2</value>  
        <value>set3</value>  
       </set>  
      </property>  
      <!-- Map注入 -->  
      <property name="map">  
       <map>  
        <entry key="1">  
         <value>one</value>  
        </entry>  
        <entry key="2">  
         <value>two</value>  
        </entry>  
        <entry key="3">  
         <value>three</value>  
        </entry>  
       </map>  
      </property>  
      <!-- Properties注入 -->  
      <property name="pro">  
       <props>  
        <prop key="1">one</prop>  
        <prop key="2">two</prop>  
        <prop key="3">three</prop>  
       </props>  
      </property>  
     </bean>  
    </beans>  

以上注入的内容仅仅是一些字符串,如果想把一些实体类(如Date类)注入到集合中,就该对xml文件进行配置,方法如下:

    <?xml version="1.0" encoding="UTF-8" ?>  
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"  
     "http://www.springframework.org/dtd/spring-beans.dtd">  
    <beans>  
     <!-- 定义需要插入到集合中的Date类 -->  
     <bean id="date" class="java.util.Date"></bean>  
     <bean id="di" class="com.sw.action.DI">  
      <!-- List注入 -->  
      <property name="list">  
       <list>  
        <value>list1</value>  
        <value>list2</value>  
        <value>list3</value>  
        <!-- 将Date类加入到集合中 -->  
        <ref bean="date" />  
       </list>  
      </property>  
      <!-- Set注入 -->  
      <property name="set">  
       <set>  
        <value>set1</value>  
        <value>set2</value>  
        <value>set3</value>  
        <!-- 将Date类加入到集合中 -->  
        <ref bean="date" />  
       </set>  
      </property>  
      <!-- Map注入 -->  
      <property name="map">  
       <map>  
        <entry key="1">  
         <value>one</value>  
        </entry>  
        <entry key="2">  
         <value>two</value>  
        </entry>  
        <entry key="3">  
         <value>three</value>  
        </entry>  
        <entry key="4">  
         <!-- 将Date类加入到集合中 -->  
         <ref bean="date" />  
        </entry>  
       </map>  
      </property>  
      <!-- Properties注入 -->  
      <property name="pro">  
       <props>  
        <prop key="1">one</prop>  
        <prop key="2">two</prop>  
        <prop key="3">three</prop>  
       </props>  
      </property>  
     </bean>  
    </beans>  










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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值