spring 中读取properties 文件

在src  目录下建立configs.properties

backup.host = 192.168.1.6
backup.user = root
backup.pwd =pwd

建立静态类:

package com.ly.jxc.util;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
/**
 * 配置文件读取类
 * @author yq
 * 2014-09-29
 */
public class Configs extends PropertyPlaceholderConfigurer {  

private static Map<String, Object> ctxPropertiesMap;  

protected static void load(){
    Resource resource = new ClassPathResource("/config.properties");
    Properties props;
    try {
        props = PropertiesLoaderUtils.loadProperties(resource);

    ctxPropertiesMap = new HashMap<String, Object>();
    for (Object key : props.keySet()) {
        String keyStr = key.toString();
        String value = props.getProperty(keyStr);
        ctxPropertiesMap.put(keyStr, value);
    }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
/**
 * 返回int,带默认值
 * @param name
 * @return
 */
public static int getIntValue(String name,int defaultValue) {
    if(ctxPropertiesMap ==null ||ctxPropertiesMap.isEmpty())
        load();
    if(ctxPropertiesMap.get(name)==null)
    return defaultValue;
    return Integer.parseInt((String)ctxPropertiesMap.get(name));
}
/**
 * 返回int
 * @param name
 * @return
 */
public static int getIntValue(String name) {
    if(ctxPropertiesMap ==null ||ctxPropertiesMap.isEmpty())
        load();
    if(ctxPropertiesMap.get(name)==null)
    return 0;
    return Integer.parseInt((String)ctxPropertiesMap.get(name));
}  

/**
 * 返回string
 * @param name
 * @return
 */
public static String getValue(String name) {
    if(ctxPropertiesMap ==null || ctxPropertiesMap.isEmpty())
        load();
    return (String)ctxPropertiesMap.get(name);
}
}

然后配置静态类(详见我另一篇 http://www.cnblogs.com/yqweber/p/3992513.html) 就能在页面直接用来取值了.

时间: 2024-12-28 18:57:01

spring 中读取properties 文件的相关文章

五种方式让你在java中读取properties文件内容不再是难题

一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,先和大家共享. 二.项目环境介绍 Spring 4.2.6.RELEASE SpringMvc 4.2.6.RELEASE Mybatis 3.2.8 Maven 3.3.9 Jdk 1.7 Id

在JSP页面中读取properties文件

在做web开发时,经常遇到要修改一下配置信息.如果把这些配置信息写在代码中,后期的维护便会比较麻烦.所以,一般都是把配置信息写在配置文件里面. 在JSP文件中,如果想要调用properties文件中的变量,则要在有文件中引入 java.util.ResourceBundle 类: <%@ page contentType="text/html; charset=UTF-8" import="java.util.ResourceBundle" %> 已知配

Spring下读取properties文件

由于在spring的xml文件中配置了 <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <property name="providerClass" value="org.hibernate.validator.HibernateValidator"/&g

Spring 中使用Properties文件

Spring提供了加载Properties文件的工具类:org.springframework.beans.factory.config.PropertyPlaceholderConfigurer. 在Spring容器启动时,使用内置bean对属性文件信息进行加载,在bean.xml中添加如下: <!-- spring的属性加载器,加载properties文件中的属性 --> <bean id="propertyConfigurer" class="org.

spring无法读取properties文件数据

只讲述异常点,关于怎么配置文件,这里不做说明. 1. controller中无法读取config.properties文件 controller中注入的@Value配置是从servlet-context.xml配置文件中获取的:service中注入的@Value配置可以从applicationContext.xml中获取的.所以,如果要在controller中注入属性配置,需要在相应servlet文件中添加配置,同applicationContext.xml中一样. <bean class=&quo

Java项目中读取properties文件

package util; import java.io.IOException; import java.io.InputStream; import java.util.Properties; /**  * 获取配置文件信息  *   * @author Carl  *  */ public final class GetProperties { private static Properties prop = null; static{ prop = new Properties(); /

Java中读取properties 文件

Properties properties = new Properties(); // 方法1 try { // 在加载的class文件中加载,文件是和类文件放在一下的 ClassLoader loader = PropertiesUtil.class.getClassLoader(); InputStream inStream = loader.getResourceAsStream("config.properties"); properties.load(inStream);

Eclipse 中读取properties文件中文乱码解决问题

在开发java中多少会遇到需要编辑properties等属性文件的时候,有时候用文本编辑器看到的内容会使各种的乱码入下图: 针对这种情况可以给Eclipse安装上一个插件Properties Editor,属性文件通过这个编辑器打开可以解决乱码问题. 安装插件方法:help--Eclipse Marketplace如下图,我的Eclipse是Mars Release (4.5.0)

Java在Web项目中读取properties文件

1 import java.io.FileNotFoundException; 2 import java.io.IOException; 3 import java.io.InputStream; 4 import java.sql.SQLException; 5 import java.util.Properties; 6 7 import javax.sql.DataSource; 8 9 import com.alibaba.druid.pool.DruidDataSourceFacto