Spring将classpath下的 .properties文件数据读出放到map中,在初始化时加载
Posted LandauNi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring将classpath下的 .properties文件数据读出放到map中,在初始化时加载相关的知识,希望对你有一定的参考价值。
因为项目需要需要将配置文件中的键值对读出放到map中
格式为:
001=123456789
Appcontext.xml中添加配置:
<bean id="loadKeyFromProperties" class="com.;landau.init.LoadKeyFormProperties"> <property name="keyFileResource"> <value>classpath:keys.properties</value> </property> </bean>
java代码:
public class LoadKeyFormProperties implements InitializingBean { private Resource keyFileResource; private static Map<String, String> map = new HashMap<String, String>(); protected static volatile boolean initialized = false; public static Map<String, String> getKey() { return map; } public void setKeyFileResource(Resource keyFileResource) { this.keyFileResource = keyFileResource; } /** * 将键值对取到集合内 */ private void loadKeyFormProperties() { if (initialized) { return; } InputStream is = null; try { is = keyFileResource.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String str = null; while ((str = br.readLine()) != null) { String[] data = str.split("="); map.put(data[0], data[1]); } initialized = true; } catch (Exception e) { } finally { is.close(); } } @Override public void afterPropertiesSet() throws Exception { loadKeyFormProperties(); } }
以上是关于Spring将classpath下的 .properties文件数据读出放到map中,在初始化时加载的主要内容,如果未能解决你的问题,请参考以下文章
spring读取classpath目录下的配置文件通过表达式去注入属性值.txt
spring读取classpath目录下的配置文件通过表达式去注入属性值.txt