《Pro Spring》学习笔记之集合注入
来源:互联网 发布:所有当当读书软件 编辑:程序博客网 时间:2024/04/20 22:19
配置文件:
<?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-2.0.xsd">
<bean id="collectionTest" class="ch4_CollectionDI.CollectionTest">
<property name="map">
<map>
<entry key="someValue">
<value>somekey</value>
</entry>
<entry key="someBean">
<ref bean="course"/>
</entry>
</map>
</property>
<property name="list">
<list>
<value>listvalue</value>
<ref bean="course"/>
</list>
</property>
<property name="set">
<set>
<value>setvalue</value>
<ref bean="course"/>
</set>
</property>
<!-- properties只能存放String类型数据 -->
<property name="properties">
<props>
<prop key="someValue1">
1
</prop>
<prop key="someValue2">
2
</prop>
</props>
</property>
</bean>
<bean id="course" class="ch4_CollectionDI.Course">
</bean>
</beans>
<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.0.xsd">
<bean id="collectionTest" class="ch4_CollectionDI.CollectionTest">
<property name="map">
<map>
<entry key="someValue">
<value>somekey</value>
</entry>
<entry key="someBean">
<ref bean="course"/>
</entry>
</map>
</property>
<property name="list">
<list>
<value>listvalue</value>
<ref bean="course"/>
</list>
</property>
<property name="set">
<set>
<value>setvalue</value>
<ref bean="course"/>
</set>
</property>
<!-- properties只能存放String类型数据 -->
<property name="properties">
<props>
<prop key="someValue1">
1
</prop>
<prop key="someValue2">
2
</prop>
</props>
</property>
</bean>
<bean id="course" class="ch4_CollectionDI.Course">
</bean>
</beans>
javaBean:
package ch4_CollectionDI;
public class Course ...{
private String courseName;
public String getCourseName() ...{
return courseName;
}
public void setCourseName(String courseName) ...{
this.courseName = courseName;
}
}
public class Course ...{
private String courseName;
public String getCourseName() ...{
return courseName;
}
public void setCourseName(String courseName) ...{
this.courseName = courseName;
}
}
测试代码:
package ch4_CollectionDI;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
public class TestSpring ...{
public static void main(String args[]) throws Exception...{
//获取bean factory
BeanFactory factory=(BeanFactory)getBeanFactory();
CollectionTest collectionTest=(CollectionTest)factory.getBean("collectionTest");
Map map=collectionTest.getMap();
List list=collectionTest.getList();
Set set=collectionTest.getSet();
Properties properties=collectionTest.getProperties();
System.out.println("Map content:");
Iterator iter=map.keySet().iterator();
while (iter.hasNext()) ...{
Object element = iter.next();
System.out.println("key:"+element+"-value:"+map.get(element));
}
System.out.println("Set content:");
iter=set.iterator();
while (iter.hasNext()) ...{
Object element = iter.next();
System.out.println("value:"+element);
}
System.out.println("List content:");
iter=list.iterator();
while (iter.hasNext()) ...{
Object element = iter.next();
System.out.println("value:"+element);
}
//properties迭代后排序的
System.out.println("Properties content:");
iter=properties.keySet().iterator();
while (iter.hasNext()) ...{
Object element = iter.next();
System.out.println("key:"+element+"-value:"+properties.get(element));
}
}
public static BeanDefinitionRegistry getBeanFactory() ...{
//获取bean factory
String realpath="";
//加载配置项
realpath=System.getProperty("user.dir")+File.separator+"src"+File.separator+"ch4_CollectionDI"+File.separator+"applicationContext.xml";
XmlBeanFactory factory=new XmlBeanFactory(new FileSystemResource(realpath));
return factory;
}
}
import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
public class TestSpring ...{
public static void main(String args[]) throws Exception...{
//获取bean factory
BeanFactory factory=(BeanFactory)getBeanFactory();
CollectionTest collectionTest=(CollectionTest)factory.getBean("collectionTest");
Map map=collectionTest.getMap();
List list=collectionTest.getList();
Set set=collectionTest.getSet();
Properties properties=collectionTest.getProperties();
System.out.println("Map content:");
Iterator iter=map.keySet().iterator();
while (iter.hasNext()) ...{
Object element = iter.next();
System.out.println("key:"+element+"-value:"+map.get(element));
}
System.out.println("Set content:");
iter=set.iterator();
while (iter.hasNext()) ...{
Object element = iter.next();
System.out.println("value:"+element);
}
System.out.println("List content:");
iter=list.iterator();
while (iter.hasNext()) ...{
Object element = iter.next();
System.out.println("value:"+element);
}
//properties迭代后排序的
System.out.println("Properties content:");
iter=properties.keySet().iterator();
while (iter.hasNext()) ...{
Object element = iter.next();
System.out.println("key:"+element+"-value:"+properties.get(element));
}
}
public static BeanDefinitionRegistry getBeanFactory() ...{
//获取bean factory
String realpath="";
//加载配置项
realpath=System.getProperty("user.dir")+File.separator+"src"+File.separator+"ch4_CollectionDI"+File.separator+"applicationContext.xml";
XmlBeanFactory factory=new XmlBeanFactory(new FileSystemResource(realpath));
return factory;
}
}
运行结果:
Map content:
key:someValue-value:somekey
key:someBean-value:ch4_CollectionDI.Course@a8c488
Set content:
value:setvalue
value:ch4_CollectionDI.Course@a8c488
List content:
value:listvalue
value:ch4_CollectionDI.Course@a8c488
Properties content:
key:someValue2-value:2
key:someValue1-value:1
- 《Pro Spring》学习笔记之集合注入
- 《Pro Spring》学习笔记之混淆的构造器注入
- 《Pro Spring》学习笔记之使用properties文件进行依赖注入
- 《Pro Spring》学习笔记之Loopup Method Injection(查找方法注入)
- spring学习笔记(5)--集合注入
- spring学习之集合属性注入
- 《Pro Spring》学习笔记之依赖解析
- 《Pro Spring》学习笔记之自动装配
- 《Pro Spring》学习笔记之依赖检查
- 《Pro Spring》学习笔记之InitializingBean
- 《Pro Spring》学习笔记之PropertyEditor
- 《Pro Spring》学习笔记之ApplicationContext国际化
- spring之集合注入
- 工作记录之Spring学习笔记(1)集合的注入
- 《Pro Spring》学习笔记之Spring与JNDI
- 《pro Spring》学习笔记之使用Spring配置Quartz
- 《pro Spring》学习笔记之Spring集成RMI实例
- 《pro Spring》学习笔记之Spring HTTP 远程方法调用
- 一个c#上传的程序,可以生成缩略图也可以自由添加水印效果
- (第Ⅲ部分 结构型模式篇) 第10章 组合模式(Composite Pattern)
- ASP.NET操作Excel实例
- (第Ⅲ部分 结构型模式篇) 第11章 外观模式(Façade Pattern)
- 水晶报表(Crystal Reports 9) for delphi
- 《Pro Spring》学习笔记之集合注入
- (第Ⅲ部分 结构型模式篇) 第12章 享元模式(Flyweight Pattern)
- plsql和tsql常用函数比对
- Windows API一日一练(1)第一个应用程序
- (第Ⅲ部分 结构型模式篇) 第13章 代理模式(Proxy Pattern)
- JAVA提高性能经验总结
- (第Ⅲ部分 结构型模式篇) 第14章 结构型模式专题总结
- 使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图
- (第Ⅳ部分 行为型模式篇) 第15章 模版方法模式(Template Method)