java程序读取属性配置文件(.properties)

项目结构

 

properties文件内容 

saas.client_id=101943
saas.client_key=6f5bba40-225d-4dae-a24d-a566815f761b

saas.saas_base_addr=https://221.176.54.92:9081
saas.saas_auth_url=http://saas.ecloud.10086.cn/account/authorize

saas.redirect_uri=http://192.168.1.192:8080/smeimp/auth_for_saas/login
saas.appId=superb_appId
saas.packagecode=superb_packagecode

 

 方案一:采用spring的bean方式注入

    step1:在spring配置文件中注入properties文件

    <bean id="saasconfig" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="ignoreResourceNotFound" value="false" />
        <property name="locations">
            <list>
                <value>classpath:saas.properties</value>
            </list>
        </property>
    </bean>

    step2:在程序中使用properties中的值

@Value("#{saasconfig['saas.client_id']}")
    private String client_id;// 消费者id

    @Value("#{saasconfig['saas.client_key']}")
    private String client_key;// 消费者私钥

    @Value("#{saasconfig['saas.appId']}")
    private String appId;// 产品编码

    @Value("#{saasconfig['saas.packagecode']}")
    private String packagecode;// 资费编码

    @Value("#{saasconfig['saas.redirect_uri']}")
    private String redirect_uri;// 应用的使用地址

    @Value("#{saasconfig['saas.saas_base_addr']}")
    private String saasBaseAddr;// Saas系统服务器地址
    
    @Value("#{saasconfig['saas.saas_auth_url']}")
    private String saasAuthUrl;

    @Resource
    private SysEmployeeService sysEmployeeService;

 

  方案二:通过java程序直接读取

 

package com.superb.smeimp.util;

import java.util.Enumeration;
import java.util.HashMap;
import java.util.Properties;

public class OutHelperKeys {

    private static HashMap<String,String> appMap;

    static {
        try {
            Properties properties = new Properties();
            
            properties.load(OutHelperKeys.class.getResource("/system_online.properties").openStream());
            Enumeration<Object> enums = properties.keys();
            appMap = new HashMap<String,String>();
            while (enums.hasMoreElements()) {
                String key = (String) enums.nextElement();
                String name = properties.getProperty(key);
                appMap.put(key, name);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public static String getKeyValue(String key){    
        return (String) appMap.get(key);
    }
    
    
}
posted @ 2018-06-23 13:16  根须  阅读(246)  评论(0)    收藏  举报