java中的集合主要有:List,Set,Map,此外还有个Properties
实例1:为单独的类设置属性
一.目录
二.代码
UserInfo.java
package com;
import java.util.Set;
import java.util.List;
import java.util.Map;
public class UserInfo {
//声明三个变量
private Set<String> sets1;
private List<String> list;
private Map<String,Object> map;
//set.get方法
public Set<String> getSets1() {
return sets1;
}
public void setSets1(Set<String> sets1) {
this.sets1 = sets1;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public Map<String, Object> getMap() {
return map;
}
public void setMap(Map<String, Object> map) {
this.map = map;
}
}
Test.java
package test;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.UserInfo;
public class Test {
public static void main(String[] args) {
BeanFactory bf=new ClassPathXmlApplicationContext("beans.xml");
UserInfo user=(UserInfo)bf.getBean("userInfo");
//打印set集合下的个数
Set<String> sets=user.getSets1();
System.out.println(sets.size());
//打印set下所有的数据
Iterator<String> iter=sets.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
//打印list集合的属性
List<String> list1=user.getList();
System.out.println(list1);
//打印map集合的属性
Map<String,Object> map1=user.getMap();
System.out.println(map1.get("id"));
System.out.println(map1.get("name"));
System.out.println(map1.get("sex"));
}
}
beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<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-3.0.xsd">
<bean id="userInfo" class="com.UserInfo">
<property name="sets1">
<set>
<value>张三</value>
<value>李四</value>
<value>王五</value>
</set>
</property>
<property name="list">
<list>
<value>张三list</value>
<value>李四list</value>
<value>王五list</value>
</list>
</property>
<property name="map">
<map>
<entry key="id" value="101"/>
<entry key="name" value="小李"/>
<entry key="sex" value="女"/>
</map>
</property>
</bean>
</beans>
运行Test.java后在控制台打印如下结果:
实例2:Person类作为Department类的变量,设置属性
代码:
Person.java
package com;
import java.util.List;
public class Person {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + "]";
}
}
Department.java
package com;
import java.util.List;
public class Department {
private String deId;
private String deName;
private List<Person> list1;
public String getDeId() {
return deId;
}
public void setDeId(String deId) {
this.deId = deId;
}
public String getDeName() {
return deName;
}
public void setDeName(String deName) {
this.deName = deName;
}
public List<Person> getList1() {
return list1;
}
public void setList1(List<Person> list1) {
this.list1 = list1;
}
@Override
public String toString() {
return "Department [deId=" + deId + ", deName=" + deName + ", list1=" + list1 + "]";
}
}
Test1.java
package test;
import java.util.List;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.Department;
import com.Person;
public class Test1 {
public static void main(String[] args){
BeanFactory bf=new ClassPathXmlApplicationContext("beans.xml");
Department de1=(Department) bf.getBean("department");
System.out.println(de1);
List<Person> list=de1.getList1();
for(Person p:list) {
System.out.println(p);
}
}
}
beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<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-3.0.xsd">
<!-- 给Person设值 -->
<bean id="person" class="com.Person">
<property name="id" value="111"></property>
<property name="name" value="易广"/>
</bean>
<!-- 给department设值 -->
<bean id="department" class="com.Department">
<property name="deId" value="110"/>
<property name="deName" value="技术部"/>
<property name="list1">
<list>
<ref bean="person"/>
</list>
</property>
</bean>
</beans>
运行Test1.java后在控制台打印: