文章目录
借用一下上篇博客的购物车类,分别创建类型为Map、Set、List、Properties类型的一个属性。这些属性呢我也不知道应该拿它们来做什么…就拿来实现一样的功能了。
ShoppingCart.java:(分别创建类型为Map、Set、List、Properties类型的一个属性)
package com.homework.bean;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class ShoppingCart {
public ShoppingCart() {
// TODO Auto-generated constructor stub
}
private List itemsOrdered;
private Map itemsOrdered_Map;
private Set itemsOrdered_Set;
private Properties pro;
public List getItemsOrdered() {
return itemsOrdered;
}
public void setItemsOrdered(List itemsOrdered) {
this.itemsOrdered = itemsOrdered;
}
public Map getItemsOrdered_Map() {
return itemsOrdered_Map;
}
public void setItemsOrdered_Map(Map itemsOrdered_Map) {
this.itemsOrdered_Map = itemsOrdered_Map;
}
public Set getItemsOrdered_Set() {
return itemsOrdered_Set;
}
public void setItemsOrdered_Set(Set itemsOrdered_Set) {
this.itemsOrdered_Set = itemsOrdered_Set;
}
public Properties getPro() {
return pro;
}
public void setPro(Properties pro) {
this.pro = pro;
}
}
在applicationContext.xml中的配置
<bean id="shoppingCart" class="com.homework.bean.ShoppingCart">
<property name="itemsOrdered">
<list>
<ref bean="itemOrder1" />
<ref bean="itemOrder2" />
<!-- 如果是String的list(不用ref对象)
<value>string1</value>
<value>string2</value>
-->
</list>
</property>
<property name="itemsOrdered_Map">
<map>
<entry key ="1" value-ref="itemOrder1"/>
<entry key ="2" value-ref="itemOrder2"/>
<!-- 如果是String的map
<entry key="1" value="string1"/>
<entry key="2" value="string2"/>
-->
</map>
</property>
<property name="itemsOrdered_Set">
<set>
<ref bean="itemOrder1" />
<ref bean="itemOrder2" />
<!-- 如果是String的set
<value>string1</value>
<value>string2</value>
-->
</set>
</property>
<property name="pro">
<props>
<!--
Properties类型的键和值必须都是String类型的!
-->
<prop key="1">order1</prop>
<prop key="2">order2</prop>
<prop key="3">order3</prop>
</props>
</property>
</bean>
测试类中对这些属性的遍历
package com.homework.app;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.homework.bean.*;
public class SpringEnvTest {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
System.out.println("\n使用list:");
ShoppingCart cart = (ShoppingCart) ctx.getBean("shoppingCart");
List<ItemOrder> list = cart.getItemsOrdered();
for (ItemOrder order : list) {
System.out.println("书名: "+ order.getItem().getTitle());
System.out.println("数量:" + order.getNumItems());
}
System.out.println("\n使用set:");
Set<ItemOrder> set = cart.getItemsOrdered_Set();
for (ItemOrder order : set) {
System.out.println("书名: "+ order.getItem().getTitle());
System.out.println("数量:" + order.getNumItems());
}
System.out.println("\n使用map:");
Map map = cart.getItemsOrdered_Map();
for(Object key : map.keySet()){
ItemOrder order = (ItemOrder) map.get(key);
System.out.println("书名: "+ order.getItem().getTitle());
System.out.println("数量:" + order.getNumItems());
}
System.out.println("\n使用properties:");
Properties prop = cart.getPro();
for(Object key : prop.keySet()) {
System.out.println(prop.get(key));
}
}
}