zoukankan      html  css  js  c++  java
  • Spring集合 (List,Set,Map,Properties) 实例

    下面例子向您展示Spring如何注入值到集合类型(List, Set, Map, and Properties)。 支持4个主要的集合类型:
    • List – <list/>
    • Set – <set/>
    • Map – <map/>
    • Properties – <props/>

    Spring beans

    一个Customer对象,有四个集合属性。
    package com.yiibai.common;
    
    import java.util.List;
    import java.util.Map;
    import java.util.Properties;
    import java.util.Set;
    
    public class Customer 
    {
    	private List<Object> lists;
    	private Set<Object> sets;
    	private Map<Object, Object> maps;
    	private Properties pros;
    	
    	//...
    }
    在bean配置文件中不同的代码片段用来声明集合。

    1. List示例

    <property name="lists">
    		<list>
    			<value>1</value>
    			<ref bean="PersonBean" />
    			<bean class="com.yiibai.common.Person">
    				<property name="name" value="yiibaiList" />
    				<property name="address" value="Hainan" />
    				<property name="age" value="28" />
    			</bean>
    		</list>
    	</property>

    2. Set示例

    <property name="sets">
    		<set>
    			<value>1</value>
    			<ref bean="PersonBean" />
    			<bean class="com.yiibai.common.Person">
    				<property name="name" value="yiibaiSet" />
    				<property name="address" value="Hainan" />
    				<property name="age" value="28" />
    			</bean>
    		</set>
    	</property>

    3. Map示例

    <property name="maps">
    		<map>
    			<entry key="Key 1" value="1" />
    			<entry key="Key 2" value-ref="PersonBean" />
    			<entry key="Key 3">
    				<bean class="com.yiibai.common.Person">
    					<property name="name" value="yiibaiMap" />
    					<property name="address" value="Hainan" />
    					<property name="age" value="28" />
    				</bean>
    			</entry>
    		</map>
    	</property>

    4. Properties示例

    <property name="pros">
    		<props>
    			<prop key="admin">admin@yiibai.com</prop>
    			<prop key="support">support@yiibai.com</prop>
    		</props>
    	</property>
    Spring完整的 bean 配置文件。
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
    	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    
    	<bean id="CustomerBean" class="com.yiibai.common.Customer">
    
    		<!-- java.util.List -->
    		<property name="lists">
    			<list>
    				<value>1</value>
    				<ref bean="PersonBean" />
    				<bean class="com.yiibai.common.Person">
    					<property name="name" value="yiibaiList" />
    					<property name="address" value="Hainan Haikou" />
    					<property name="age" value="28" />
    				</bean>
    			</list>
    		</property>
    
    		<!-- java.util.Set -->
    		<property name="sets">
    			<set>
    				<value>1</value>
    				<ref bean="PersonBean" />
    				<bean class="com.yiibai.common.Person">
    					<property name="name" value="yiibaiSet" />
    					<property name="address" value="Hainan Haikou" />
    					<property name="age" value="28" />
    				</bean>
    			</set>
    		</property>
    
    		<!-- java.util.Map -->
    		<property name="maps">
    			<map>
    				<entry key="Key 1" value="1" />
    				<entry key="Key 2" value-ref="PersonBean" />
    				<entry key="Key 3">
    					<bean class="com.yiibai.common.Person">
    						<property name="name" value="yiibaiMap" />
    						<property name="address" value="Hainan Haikou" />
    						<property name="age" value="28" />
    					</bean>
    				</entry>
    			</map>
    		</property>
    
    		<!-- java.util.Properties -->
    		<property name="pros">
    			<props>
    				<prop key="admin">admin@yiibai.com</prop>
    				<prop key="support">support@yiibai.com</prop>
    			</props>
    		</property>
    
    	</bean>
    
    	<bean id="PersonBean" class="com.yiibai.common.Person">
    		<property name="name" value="yiibai1" />
    		<property name="address" value="Hainan Haikou 1" />
    		<property name="age" value="28" />
    	</bean>
    
    </beans>

    执行程序

    package com.yiibai.common;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class App 
    {
        public static void main( String[] args )
        {
        	ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
    
        	Customer cust = (Customer)context.getBean("CustomerBean");
        	System.out.println(cust);
        	
        }
    }

    输出

    Customer [lists=[1, com.yiibai.common.Person@4e4ee70bcom.yiibai.common.Person@1e1867d2], sets=[1, com.yiibai.common.Person@4e4ee70bcom.yiibai.common.Person@52f644b4], maps={Key 1=1, Key 2=com.yiibai.common.Person@4e4ee70b, Key 3=com.yiibai.common.Person@54481b6d}, pros={admin=admin@yiibai.com, support=support@yiibai.com}]
  • 相关阅读:
    【ci框架】ci框架目录结构分析
    php CI框架
    jQuery boxy弹出层插件中文演示及讲解
    Jenkins构建报错(Jenkins is reserved for jobs with matching label expression)解决办法
    redis缓存数据架构实战
    Git免密码pull&push
    Maven搭建Nexus私有仓库
    Windows使用filezilla搭建FTP服务器
    CentOS7.4使用yum安装MySQL5.6
    MySQL数据库连接池导致页面登录无法查询问题解决过程
  • 原文地址:https://www.cnblogs.com/soundcode/p/6367270.html
Copyright © 2011-2022 走看看