您的位置:首页 > 编程语言 > Java开发

spring 3配置文件中如何注入map list set等类型

2013-07-25 11:54 495 查看
首先写个 javabean类吧,如下

package com.bean;

import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

public class MessageBean {
private String username;
private String password;
private int size;
private List<String> citys;
private Set<String> friends;
private Map<Integer,String> books;
private Properties props;

public void setProps(Properties props) {
this.props = props;
}

public void setFriends(Set<String> friends) {
this.friends = friends;
}

public void setSize(int size) {
this.size = size;
}

public void setPassword(String password) {
this.password = password;
}

public void setUsername(String username) {
this.username = username;
}

public void show(){
System.out.println(username);
System.out.println(password);
System.out.println(size);
System.out.println("----------");
for(String str:citys){
System.out.println(str);
}
System.out.println("----------");
for(String str:friends){
System.out.println(str);
}
System.out.println("---------");
Set<Integer> keys = books.keySet();
for(Integer key:keys){
System.out.println(key+" "+books.get(key));
}
System.out.println("---------");
Set params = props.keySet();
for(Object obj:params ){
System.out.println(obj+" : "
+props.getProperty(obj.toString()));
}
}

public void setCitys(List<String> citys) {
this.citys = citys;
}

public void setBooks(Map<Integer, String> books) {
this.books = books;
}
}


配置文件中配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>
<bean id="userdao"
class="com.dao.impl.HibernateUserDAO">
</bean>
<!-- setter方式注入 -->
<bean id="useraction"
class="com.action.UserAction">
<property name="userDao" ref="userdao">
</property>
</bean>
<!-- 构造器方式注入 -->
<bean id="useraction1"
class="com.action.UserAction1">
<constructor-arg index="0" ref="userdao"/>
</bean>
<!-- 各种类型值注入的写法 -->
<bean id="messagebean"
class="com.bean.MessageBean">
<property name="props">
<props>
<prop key="url">http://www.tom.com</prop>
<prop key="username">zhangsan</prop>
<prop key="password">123456789</prop>
</props>
</property>

<property name="books">
<map>
<entry key="10" value="CoreJava">
</entry>
<entry key="11" value="JavaWeb">
</entry>
<entry key="12" value="SSH2">
</entry>
</map>
</property>
<property name="friends">
<set>
<value>张三</value>
<value>李四</value>
<value>王五</value>
</set>
</property>

<property name="citys">
<list>
<value>北京</value>
<value>上海</value>
<value>深圳</value>
</list>
</property>

<property name="username">
<value>root</value>
</property>
<property name="password">
<value>1234</value>
</property>
<property name="size">
<value>15</value>
</property>
</bean>

</beans>


代码中调用

String[] configs = {"applicationContext.xml"};
ApplicationContext ac =
new ClassPathXmlApplicationContext(configs);
MessageBean msgBean =
(MessageBean)ac.getBean("messagebean");
msgBean.show();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: