集合屬性List,Set,
阿新 • • 發佈:2019-01-02
一:List
1.在spring中可以通過一組內建的XML標籤(列如List,Set)
2.配置java.util.List型別的屬性,需要知道List標籤,在標籤裡包含一些元素,這些標籤可以通過<value>指定簡單的常亮值,通過
<ref>指定對其他Bean的引用,通過<bean>指定內建的Bean的定義,通過<null>指定空元素,甚至內嵌集合。
3.陣列的定義和List一樣都使用<List>標籤
4.配置java.util.Set需要使用Set標籤,定義元素的方法和List一樣。
二:例子
1.建立一個Person類
package com.collection.dhx; import java.util.List; import com.dhx.Car; public class Person { private String name; private int age; private List<Car> cars; public Person() { super(); } public Person(String name, int age, List<Car> cars) { super(); this.name = name; this.age = age; this.cars = cars; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public List<Car> getCars() { return cars; } public void setCars(List<Car> cars) { this.cars = cars; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", cars=" + cars + "]"; } }
2.建立一個Car類
package com.dhx; public class Car { private String brand; private String corp; private double price; private int maxSpeed; public Car(String brand, String corp, int maxSpeed) { super(); this.brand = brand; this.corp = corp; this.maxSpeed = maxSpeed; } public Car(String brand, String corp, double price) { super(); this.brand = brand; this.corp = corp; this.price = price; } public Car() { super(); } public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public String getCorp() { return corp; } public void setCorp(String corp) { this.corp = corp; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public int getMaxSpeed() { return maxSpeed; } public void setMaxSpeed(int maxSpeed) { this.maxSpeed = maxSpeed; } @Override public String toString() { return "Car [brand=" + brand + ", corp=" + corp + ", price=" + price + ", maxSpeed=" + maxSpeed + "]"; } }
3.在applicationContext.xml中配置
<!-- 集合屬性 -->
<bean id="person3" class="com.collection.dhx.Person">
<property name="name" value="wangzi"></property>
<property name="age" value="24"></property>
<property name="cars">
<list>
<ref bean="car"/>
<null></null>
<bean id="car" class="com.dhx.Car">
<property name="brand" value="heilong"></property>
<property name="corp" value="yunnan"></property>
<property name="maxSpeed" value="1234"></property>
</bean>
</list>
</property>
</bean>
4.在Mian類中列印
//建立spring容器物件,applicationContext是IOC容器,實際上也是一個介面
//ClassPathXmlApplicationContext:是ApplicationContext的介面實現類,是在類的路徑下實現該類
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
Person p=(Person) ctx.getBean("person3");
System.out.println(p);
5.List和Set用法相同,這裡就不介紹了