java如何指定外部的配置文件

 我来答
安徽新华电脑专修学院
2018-06-25 · 百度知道合伙人官方认证企业
安徽新华电脑专修学院
安徽新华电脑专修学院始建于1988年,隶属于新华教育集团,是国家信息化教育示范基地、中国 IT 教育影响力品牌院校.
向TA提问
展开全部
public class ConfigManager {
protected final static org.slf4j.Logger logger = LoggerFactory.getLogger(ConfigManager.class); private boolean autoReload; private static final String BASE_PATH; private static final String GLOBAL_CONFIG_PATH = "global.config.path"; private static final String fileName="conf.properties"; private static volatile PropertiesConfiguration prop =null; static{
logger.info("开始初始化ConfigurationManager===================== ");
SystemConfiguration sysConfig = new SystemConfiguration();
String globalPath = sysConfig.getString(GLOBAL_CONFIG_PATH);
logger.info("globalPath======================= "+globalPath); if(StringUtils.isBlank(globalPath)){/**默认加载classpath下面的文件**/
globalPath = Thread.currentThread().getContextClassLoader().getResource("conf.properties").getFile();
}
BASE_PATH=globalPath;
} public ConfigManager(boolean autoReload) throws ConfigurationException { this.autoReload=autoReload;
loadConfig();
} public void loadConfig() throws ConfigurationException { if (null==prop){
prop=new PropertiesConfiguration();
}
File file=new File(BASE_PATH);
prop.setFile(file);
prop.setAutoSave(false); if(autoReload){/**重载策略,5秒钟监视文件变化***/
prop.setReloadingStrategy(new FileChangedReloadingStrategy());
}
prop.load();

} /**
* @param key
* @return value
*/
public String getProperty(String key) { return prop.getString(key);
} /**
* 获取整数类型的配置项
*
* @param key
* @return value
*/
public Integer getInteger(String key) {
String value = getProperty(key); return Integer.valueOf(value);
} /**
* 获取布尔类型的配置项
*
* @param key
* @return value
*/
public Boolean getBoolean(String key) {
String value = getProperty(key); return Boolean.valueOf(value);
} /**
* 获取Long类型的配置项
*
* @param key
* @return
*/
public Long getLong(String key) {
String value = getProperty(key); return Long.valueOf(value);
} private static class SingletonHelp {
static ConfigManager instance; static { try {
instance = new ConfigManager(true);
} catch (ConfigurationException e) {
logger.error("ConfigurationManager error" +e);
}
}
} public static ConfigManager build(){ return SingletonHelp.instance;
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式