java 读取不同的配置文件
关于JAVA 中的Configuration类
properties文件是Java平台默认的配置文件格式,其优点是格式清晰,简单易懂,使用commons-configuration读取properties文件也比较简单,代码如下:
基本用法:maven自动加载,pom.xml配置如下:
1.加载jar包,我使用
1 2 3 4 5 6 7 8 9 10 11 | <dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>1.9</version> </dependency> <!-- commons-configuration 自动加载的是2.1的版本,编译时会报错,所以再加上这个 --> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> |
common-lang这个包要用新版的,如果不写这个依赖,commons-configuration会下载一个2.1旧版,导致编译出错
2.java代码:
1 2 | PropertiesConfiguration config = new PropertiesConfiguration(“/database.properties”); String userName = config.getString( "name" ); |
除了getString()方法外,还有getBoolean,getDouble,getInteger等不同返回类型的方法可以调用。
进阶用法:
一个项目有会有多个配置文件,这时有个统一的配置文件管理类就很有必要了,我写了一个简单的,大家可以参考下,有不妥的用法也请指出来
1.java类
package com.xxx.xxx.util; import java.util.HashMap; import java.util.Map; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; /** * <p> * 读取配置文件类 * </p> * <p> * 根据配置文件名和属性key返回属性内容,configUtil.get(configFile, property); * </p> * @author shengzhi.rensz * */ public class configUtil { private static configUtil initor = new configUtil(); private static Map<String, Object> configMap = new HashMap<String, Object>(); private configUtil() {} /** * 获取内容 * @param configFile * @param property * @return */ public static String get(String configFile, String property) { if(!configMap.containsKey(configFile)) { initor.initConfig(configFile); } PropertiesConfiguration config = (PropertiesConfiguration) configMap.get(configFile); String value = config.getString(property); //TODO LOG return value; } /** * 载入配置文件,初始化后加入map * @param configFile */ private synchronized void initConfig(String configFile) { try { PropertiesConfiguration config = new PropertiesConfiguration(configFile); configMap.put(configFile, config); } catch (ConfigurationException e) { e.printStackTrace(); } } }
2.调用方法
configUtil.get("/common/velocity.properties", "input.encoding");
public static void readProperties() throws ConfigurationException { PropertiesConfiguration pcfg = new PropertiesConfiguration("config/cfg.properties"); System.out.println(pcfg.getString("platform.jre")); }
注意,这里的路径一定要搞清楚,配置文件是放在config文件夹中的;
分类:
java 读取不同的配置文件
« 上一篇: Java生成全局唯一ID代码演示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2017-12-20 day02-多线程之线程安全
2017-12-20 多线程day01
2017-12-20 Java中的多线程你只要看这一篇就够了