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

首先写个 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();


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值