`

如何从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));
}

 

分享到:
评论

相关推荐

    spring.doc

    2.2 Spring配置文件 7 2.3 Spring API 8 3 Spring基本功能详解 8 3.1 SpringIOC 8 3.2别名Alias 11 别名拓展: 11 3.3 Spring容器内部对象的创建 12 Spring容器内部对象创建拓展: 12 3.3.1使用类构造器实例化(默认...

    Spring-Reference_zh_CN(Spring中文参考手册)

    初始化web配置 3.4.3.2. Request作用域 3.4.3.3. Session作用域 3.4.3.4. global session作用域 3.4.3.5. 作用域bean与依赖 3.4.4. 自定义作用域 3.5. 定制bean特性 3.5.1. Lifecycle接口 3.5.1.1. 初始化回调 3.5....

    spring:spring源码级别的学习

    1、init 加载spring的配置文件 2、IOC初始化 声明一个IOC容器,Map 3、scan-package 配置一个包路径,扫描到相关的类 4、实例化 将扫描到的相关类,利用反射机制实例化,并且保存到IOC容器之中 5、依赖注入 (DI)...

    Spring面试题

    类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many、 4. 说下Hibernate的缓存...

    DWR.xml配置文件说明书(含源码)

    从java中传递null值到javascript是没有任何危险性的,所以DWR将这个作为默认的converter,所以你自己不用再把这个converter添加到配置文件的部分中去. 基本类型的converter转换int,boolean,double等.当然还包括对应的...

    springmybatis

    1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改查和事务提交等. 4. 在用完之后关闭session 。 5. 在java 对象和 数据库之间有做...

    Spring Cloud Finchley SR2全套(集成Spring Gateway)

    .initialCacheNames(cacheNames) /* 注意这两句的调用顺序,一定要先调用该方法设置初始化的缓存名,再初始化相关的配置 */ .withInitialCacheConfigurations(configMap).build(); return cacheManager; } 框架中...

    ssh2(struts2+spring2.5+hibernate3.3)自动生成模版

    这些内容就是从带"-insert"的配置文件中来,把带"-insert"的配置文件内容加入到不带“insert”的配置文件中去。 generator\template\src\${basepackage_dir}目录下的文件实现: generator\template\src\${...

    java面试宝典

    141、使用useBean标志初始化BEAN时如何接受初始化参数 36 142、使用JSP如何获得客户浏览器的信息? 36 143、能象调用子程序一样调用JSP吗? 36 144、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS...

    基于SSM框架的Java CRUD操作示例源码

    - XML配置文件:8个,用于配置SSM框架中的各种设置,包括控制器、服务、数据库访问等; - CSS样式表:4个,定义了项目的样式和布局; - Map映射文件:4个,用于MyBatis的SQL映射; - JavaScript脚本:4个,实现了...

    Java 基础核心总结 +经典算法大全.rar

    类的初始化 成员初始化 构造器初始化初始化顺序 数组初始化 对象的销毁 对象作用域 this 和 super 访问控制权限继承 多态组合代理 向上转型static final 接口和抽象类接口 抽象类异常 认 识 Exception 什么是 ...

    cms后台管理

    找到jeecms-servlet-front-action.xml,在此配置文件中有 &lt;bean id="dynamicAct" class="com.jeecms.cms.action.front.DynamicPageAct"/&gt; 可以找到类DynamicPageAct,此类是首页模板。 在类DynamicPageAct中有 ...

    基于SSM框架的员工管理系统源码

    - XML配置文件:8个,负责系统配置与框架整合。 - JavaScript脚本:5个,实现前端页面的动态交互效果。 - CSS样式表:4个,定义系统的界面风格与布局。 - Source Map文件:4个,用于调试前端代码。 - JSP页面:3个,...

    security第三版

    项目说明 : 这是一个spring-security的Demo..第三版...基本可以拿来作为一个项目的雏形的权限设计了.. 数据库表 : user --用户表 *name *pwd *roleid //关键是这个...以及spring-security.xml配置文件

    从J2SE到J2EE知识点介绍

    7.对象的初始化 10 8.类的封装 11 9.实例成员和类成员 13 (四).类的继承 14 1.创建子类 14 2.this引用、super引用 16 3.最终类和抽象类 18 (五).类的多态性 18 1. 方法的重载 18 2. 方法的覆盖 18 (六).接口 ...

    千方百计笔试题大全

    141、使用useBean标志初始化BEAN时如何接受初始化参数 36 142、使用JSP如何获得客户浏览器的信息? 36 143、能象调用子程序一样调用JSP吗? 36 144、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS...

    +Flex+集成到+Java+EE+应用程序的最佳实践(完整源代码)

    HttpFlexSession 是 BlazeDS 提供的一个 Listener,负责监听 Flex 远程调用请求,并进行一些初始化设置: 清单 4. 定义 Flex Listener &lt;listener&gt; &lt;listener-class&gt;flex.messaging.HttpFlexSession...

    将 Flex 集成到 Java EE 应用程序的最佳实践(完整源代码)

    HttpFlexSession 是 BlazeDS 提供的一个 Listener,负责监听 Flex 远程调用请求,并进行一些初始化设置: 清单 4. 定义 Flex Listener &lt;listener&gt; &lt;listener-class&gt;flex.messaging.HttpFlexSession...

Global site tag (gtag.js) - Google Analytics