JAVA中的Configuration类详解
本文主要研究的是Java中的Configuration类的用法,涉及maven自动加载,pom.xml配置和简单的Java代码,具体如下。
properties文件是Java平台默认的配置文件格式,其优点是格式清晰,简单易懂,使用commons-configuration读取properties文件也比较简单,代码如下:
基本用法:
1.加载jar包,我使用maven自动加载,pom.xml配置如下:
commons-configuration commons-configuration 1.9 commons-lang commons-lang 2.6
common-lang这个包要用新版的,如果不写这个依赖,commons-configuration会下载一个2.1旧版,导致编译出错
2.java代码:
PropertiesConfigurationconfig=newPropertiesConfiguration(“/database.properties”); StringuserName=config.getString("name");
除了getString()方法外,还有getBoolean,getDouble,getInteger等不同返回类型的方法可以调用。
进阶用法:
一个项目有会有多个配置文件,这时有个统一的配置文件管理类就很有必要了,我写了一个简单的,大家可以参考下,有不妥的用法也请指出来
1.java类
packagecom.xxx.xxx.util; importjava.util.HashMap; importjava.util.Map; importorg.apache.commons.configuration.ConfigurationException; importorg.apache.commons.configuration.PropertiesConfiguration; /** **读取配置文件类 *
**根据配置文件名和属性key返回属性内容,configUtil.get(configFile,property); *
*@authorshengzhi.rensz * */ publicclassconfigUtil{ privatestaticconfigUtilinitor=newconfigUtil(); privatestaticMapconfigMap=newHashMap (); privateconfigUtil(){ } /** *获取内容 *@paramconfigFile *@paramproperty *@return */ publicstaticStringget(StringconfigFile,Stringproperty){ if(!configMap.containsKey(configFile)){ initor.initConfig(configFile); } PropertiesConfigurationconfig=(PropertiesConfiguration)configMap.get(configFile); Stringvalue=config.getString(property); //TODOLOG returnvalue; } /** *载入配置文件,初始化后加入map *@paramconfigFile */ privatesynchronizedvoidinitConfig(StringconfigFile){ try{ PropertiesConfigurationconfig=newPropertiesConfiguration(configFile); configMap.put(configFile,config); } catch(ConfigurationExceptione){ e.printStackTrace(); } } }
2.调用方法
configUtil.get("/common/velocity.properties","input.encoding");
publicstaticvoidreadProperties()throwsConfigurationException{ PropertiesConfigurationpcfg=newPropertiesConfiguration("config/cfg.properties"); System.out.println(pcfg.getString("platform.jre")); }
注意,这里的路径一定要搞清楚,配置文件是放在config文件夹中的;
总结
以上就是本文关于JAVA中的Configuration类详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。