Spring4-注入值到集合类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring4-注入值到集合类型相关的知识,希望对你有一定的参考价值。
1.创建Maven项目,项目名称springdemo27,如图所示
2.配置Maven,修改项目中的pom.xml文件,修改内容如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>1.0.0</modelVersion> <groupId>shequ</groupId> <artifactId>springdemo13</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <java.version>1.7</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> <repositories> <repository> <id>codelds</id> <url>https://code.lds.org/nexus/content/groups/main-repo</url> </repository> </repositories> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.4.RELEASE</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34</version> </dependency> </dependencies> <build/> </project>
3.在src/main/java下创建实体Bean Forum,包名(com.mycompany.shequ.bean)如图所示
4.实体Bean Forum的内容如下
package com.mycompany.shequ.bean; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; public class Forum { private int fid; private String name; private List<Object> lists; private Set<Object> sets; private Map<Object,Object> maps; private Properties pros; public int getFid() { return fid; } public void setFid(int fid) { this.fid = fid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Object> getLists() { return lists; } public void setLists(List<Object> lists) { this.lists = lists; } public Set<Object> getSets() { return sets; } public void setSets(Set<Object> sets) { this.sets = sets; } public Map<Object, Object> getMaps() { return maps; } public void setMaps(Map<Object, Object> maps) { this.maps = maps; } public Properties getPros() { return pros; } public void setPros(Properties pros) { this.pros = pros; } @Override public String toString() { return "{fid=>"+this.fid+",name=>"+this.name+"}"; } }
5.在src/main/java下创建实体Bean ForumPost,包名(com.mycompany.shequ.bean)如图所示
6.实体Bean ForumPost的内容如下
package com.mycompany.shequ.bean; public class ForumPost { private int pid; private String name; public int getPid() { return pid; } public void setPid(int pid) { this.pid = pid; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "{pid=>"+this.pid+",name=>"+this.name+"}"; } }
7.在src/main/resources下创建spring-bean.xml配置文件,如图所示
8.spring-bean.xml配置文件的内容如下
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> <bean id="forum" class="com.mycompany.shequ.bean.Forum"> <property name="fid" value="1"></property> <property name="name" value="集合"></property> <property name="lists"> <list> <value>1</value> <ref bean="forumpost"/> <bean class="com.mycompany.shequ.bean.ForumPost"> <property name="pid" value="1"></property> <property name="name" value="list"></property> </bean> </list> </property> <property name="sets"> <set> <value>1</value> <ref bean="forumpost"/> <bean class="com.mycompany.shequ.bean.ForumPost"> <property name="pid" value="2"></property> <property name="name" value="set"></property> </bean> </set> </property> <property name="maps"> <map> <entry key="key1" value="1"></entry> <entry key="key2" value-ref="forumpost"></entry> <entry key="key3"> <bean class="com.mycompany.shequ.bean.ForumPost"> <property name="pid" value="3"></property> <property name="name" value="map"></property> </bean> </entry> </map> </property> <property name="pros"> <props> <prop key="key1">props1</prop> <prop key="key2">props2</prop> </props> </property> </bean> <bean id="forumpost" class="com.mycompany.shequ.bean.ForumPost"> <property name="pid" value="2"></property> <property name="name" value="prototype"></property> </bean> </beans>
9.在src/main/resources下创建核心配置文件applicationContext.xml,如图所示
10.核心配置文件applicationContext.xml的内容如下
<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-4.0.xsd"> <import resource="bean/spring-bean.xml"/> </beans>
11.在src/test/java下创建测试文件AppTest,包名(com.mycompany.shequ.test)如图所示
12.测试文件AppTest的内容如下
package com.mycompany.shequ.test; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Properties; import java.util.Set; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.mycompany.shequ.bean.Forum; public class AppTest { @Test public void beanTest(){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); Forum forum = (Forum) context.getBean("forum"); List<Object> lists = forum.getLists(); for (Object object : lists) { System.out.println(object); } System.out.println("----------------------------------------------"); Set<Object> sets = forum.getSets(); for (Object object : sets) { System.out.println(object); } System.out.println("----------------------------------------------"); Map<Object,Object> maps = forum.getMaps(); for(Map.Entry<Object,Object> entry:maps.entrySet()){ System.out.println(entry.getKey()+"=>"+entry.getValue()); } System.out.println("----------------------------------------------"); Properties pros = forum.getPros(); Iterator it = pros.entrySet().iterator(); while(it.hasNext()){ Map.Entry entry = (Entry) it.next(); System.out.println(entry.getKey()+"=>"+entry.getValue()); } } }
13.在测试类AppTest的beanTest方法上右键运行,输出结果如图所示
本文出自 “素颜” 博客,请务必保留此出处http://suyanzhu.blog.51cto.com/8050189/1909911
以上是关于Spring4-注入值到集合类型的主要内容,如果未能解决你的问题,请参考以下文章