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}]
  • 相关阅读:
    184. Department Highest Salary【leetcode】sql,join on
    181. Employees Earning More Than Their Managers【leetcode】,sql,inner join ,where
    178. Rank Scores【leetcode】,sql
    177. Nth Highest Salary【leetcode】,第n高数值,sql,limit,offset
    176. Second Highest Salary【取表中第二高的值】,sql,limit,offset
    118. Pascal's Triangle【LeetCode】,java,算法,杨辉三角
    204. Count Primes【leetcode】java,算法,质数
    202. Happy Number【leetcode】java,hashSet,算法
    41. First Missing Positive【leetcode】寻找第一个丢失的整数,java,算法
    删除
  • 原文地址:https://www.cnblogs.com/soundcode/p/6367270.html
Copyright © 2011-2022 走看看