如何从spring配置文件中的参数值初始化map

<bean id="dnsConfig" class="com.configuration.ParameterConfig">
<property name="valueStack">
<map>
<entry key="js">
<value>http://js.imcoal.com</value>
</entry>
<entry key="js100M">
<value>http://218.21.222.164</value>
</entry>
<entry key="js10M">
<value>http://110.19.108.84</value>
</entry>
</map>
</property>
</bean>

ParameterConfig是一个参数配置类

public class ParameterConfig extends AbstractConfig<String> {

}

AbstractConfig类

public abstract class AbstractConfig<V> implements Configuration<String, V>{
	protected final Log logger = LogFactory.getLog(this.getClass());
	
	private Map<String , V> valueStack = Collections.synchronizedMap(new HashMap<String, V>());

	
	public V getValue(String key) {
		return valueStack.get(key);
	}

	public void putValue(String key, V value) {
		valueStack.put(key, value);		
	}
	
	public V getCurType (String curType) {
		return null;
	}
	
	public Map<String, V> getValueStack() {
		return valueStack;
	}

	public void setValueStack(Map<String, V> valueStack) {
		this.valueStack = valueStack;
	}
	
	protected boolean containsKey(String key) {
		return valueStack.containsKey(key);
	}
}

 

Configuration接口

public interface Configuration <K, V>{	
	
	public abstract V getValue(K key);
	
	public abstract void putValue(K key, V value);

	public abstract V getCurType(K key);
}

 

Spring容器启动时自动加载配置文件配置的值,放到map中,

使用

// 请求发起方判断
ApplicationContext context = WebApplicationContextUtils
.getRequiredWebApplicationContext(session.getServletContext());

ParameterConfig dnsConfig = (ParameterConfig) 
context.getBean("dnsConfig");

for (String key : dnsConfig.getValueStack().keySet()) {
    System.out.println("value:" + dnsConfig.getValue(key));
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值