一、定义类:
package cn.edu.tju.domain;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class ComplexObject {
private Set<String> hobby;
private List<String> friend;
private Properties adminEmail;
private Map<String,String> basicInfo;
public Set<String> getHobby() {
return hobby;
}
public void setHobby(Set<String> hobby) {
this.hobby = hobby;
}
public List<String> getFriend() {
return friend;
}
public void setFriend(List<String> friend) {
this.friend = friend;
}
public Properties getAdminEmail() {
return adminEmail;
}
public void setAdminEmail(Properties adminEmail) {
this.adminEmail = adminEmail;
}
public Map<String, String> getBasicInfo() {
return basicInfo;
}
public void setBasicInfo(Map<String, String> basicInfo) {
this.basicInfo = basicInfo;
}
}
二、定义配置文件:
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="myComplexObject" class="cn.edu.tju.domain.ComplexObject">
<property name="hobby">
<list>
<value>football</value>
<value>baseball</value>
</list>
</property>
<property name="adminEmail">
<props>
<prop key="david">david@beck.com</prop>
<prop key="paul">paul@schools.com</prop>
</props>
</property>
<property name="friend">
<set>
<value>tyler</value>
<value>swift</value>
</set>
</property>
<property name="basicInfo">
<map>
<entry key="age" value="25"></entry>
<entry key="name" value="link"></entry>
</map>
</property>
</bean>
</beans>
三、从容器获取bean
package cn.edu.tju;
import cn.edu.tju.domain.ComplexObject;
import cn.edu.tju.service.TestService;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.GenericApplicationContext;
public class Start5 {
public static void main(String[] args) {
GenericApplicationContext context = new GenericApplicationContext();
new XmlBeanDefinitionReader(context).loadBeanDefinitions("beans.xml");
context.refresh();
ComplexObject test = (ComplexObject) context.getBean("myComplexObject");
System.out.println(test.getAdminEmail());
System.out.println(test.getFriend());
System.out.println(test.getBasicInfo());
System.out.println(test.getHobby());
}
}