commos configuration 获得xml,properties 的属性
2016-08-31 09:13
190 查看
<jdbc.properties 测试文件> jdbc.url=com.jdbc.mysql.Driver , oracle.jdbc.driver.OracleDriver jdbc.username=root jdbc.password=root jdbc.int=1 jdbc.double=0.1 jdbc.boolean=true
<rfic.xml 测试文件> <?xml version="1.0" encoding="UTF-8"?> <!--xml文件的书写方式不同获取数据的方法不同--> <rfics> <!--示例1--> <rfisc> <code>18</code> <desc>测试数据,测试数据18</desc> </rfisc> <rfisc> <code>19</code> <desc>测试数据,测试数据19</desc> </rfisc> <rfisc> <code>20</code> <desc>测试数据,测试数据20</desc> </rfisc> <!--示例2--> <!--<rfisc code="18" desc="测试数据,测试数据18" /> <rfisc code="19" desc="测试数据,测试数据19" /> <rfisc code="20" desc="测试数据,测试数据20" /> <rfisc code="21" desc="测试数据,测试数据21" /> <rfisc code="22" desc="测试数据,测试数据22" /> <rfisc code="23" desc="测试数据,测试数据23" /> <rfisc code="24" desc="测试数据,测试数据24" /> <rfisc code="25" desc="测试数据,测试数据25" /> <rfisc code="26" desc="测试数据,测试数据26" /> <rfisc code="27" desc="测试数据,测试数据27" />--> </rfics>
<propManager.java properties测试类> package com.*.demo; import org.apache.commons.configuration.CompositeConfiguration; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy; import java.util.ArrayList; import java.util.List; /** * commons configuration 获取properties属性 */ public class PropManager { public static void main(String[] args) throws ConfigurationException { //不指定文件的绝对路径,程序将自动搜索 //commons.configuration 能帮我们返回properties的一个值得列表 Configuration config = new PropertiesConfiguration("jdbc.properties"); //返回list System.out.println("#################### 返回list ###############################"); List<String> urls = config.getList("jdbc.url"); System.out.println(urls.get(0)); System.out.println(urls.get(1)); for (String url : urls){ System.out.println(url); } //返回数组 System.out.println("#################### 返回数组 ###############################"); String[] configStringArray = config.getStringArray("jdbc.url"); System.out.println(configStringArray[0]); System.out.println(configStringArray[1]); for (String str : configStringArray){ System.out.println(str); } //返回单条数据 System.out.println("#################### 返回单条数据 ###########################"); System.out.println(config.getString("jdbc.username")); //返回int数据 System.out.println("#################### 返回int数据 ############################"); int configInt = config.getInt("jdbc.int"); System.out.println(configInt); //返回double数据 System.out.println("#################### 回double数据 ###########################"); double configDouble = config.getDouble("jdbc.double"); System.out.println(configDouble); //返回boolean数据 System.out.println("#################### 返回boolean数据 ########################"); boolean configBoolean = config.getBoolean("jdbc.boolean"); System.out.println(configBoolean); //在返回值为空的情况下设置默认值 System.out.println("#################### 在返回值在空的情况下设置默认值 ##########"); String configString = config.getString("jdbc.defult", new String("我是默认值")); System.out.println(configString); /** * java操作的字节码文件,.Java文件被编译后放在一个统一的包里面,我们的xml,properties文件都会在那个包下 * 有一份,所以我们增加的新属性,只有在那个包下才能看的到。(idea的在out目录下,eclipse的在它的bin目录下) */ System.out.println("#################### 增加配置文件的属性 ######################"); PropertiesConfiguration configuration = new PropertiesConfiguration("jdbc.properties"); //增加配置文件的属性 configuration.setProperty("jdbc.new" , "我是新属性"); configuration.save(); System.out.println("添加成功"); } }
<xmlManager.java xml测试类> package com.*.demo; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.XMLConfiguration; import java.util.Arrays; import java.util.List; /** * commons configuration 获取xml属性 */ public class XmlManager { //可以根据(fileName , file , url)configuration自动帮我们查找 private static XMLConfiguration configuration = null; static { try { configuration = new XMLConfiguration("rfic.xml"); //fileName } catch (ConfigurationException e) { e.printStackTrace(); } } //测试 public static void main(String[] args){ test1(); test2(); } /** * xml文件示例1 */ public static void test1(){ System.out.println("#################示例1测试#################"); //获得list List oneCodes = configuration.getList("rfisc.code"); List oneDescs = configuration.getList("rfisc.desc"); System.out.println(oneCodes); System.out.println(oneDescs); //获得array String[] oneStrCode = configuration.getStringArray("rfisc.code"); String[] oneStrDesc = configuration.getStringArray("rfisc.desc"); System.out.println(Arrays.toString(oneStrCode)); System.out.println(Arrays.toString(oneStrDesc)); //获得单条数据 String oneCode = configuration.getString("rfisc(0).code"); String oneDesc = configuration.getString("rfisc(0).desc"); System.out.println(oneCode); System.out.println(oneDesc); } /** * xml文件示例二 */ public static void test2(){ System.out.println("#################示例2测试#################"); //获得list List twoCodes = configuration.getList("rfisc[@code]"); List twoDescs = configuration.getList("rfisc[@desc]"); System.out.println(twoCodes); System.out.println(twoDescs); //获得array String[] twoStrCode = configuration.getStringArray("rfisc[@code]"); String[] twoStrDesc = configuration.getStringArray("rfisc[@desc]"); System.out.println(Arrays.toString(twoStrCode)); System.out.println(Arrays.toString(twoStrDesc)); //获得单条数据 String twoCode = configuration.getString("rfisc(0)[@code]"); //数据下标从0开始 System.out.println(twoCode); } }
相关文章推荐
- Microsoft.XMLDOM(XMLDOM)对象的属性和方法(Methods and properties of Microsoft.XMLDOM)
- Solidworks对图纸属性的获得与设置Get and Set Sheet Properties
- 获得xml节点,节点属性,节点内容
- 02 Mybatis源码篇---XML配置之properties 属性和settings 设置
- 02 Mybatis应用篇---XML配置之properties 属性和settings 设置
- java.util.Properties从XML中加载属性
- SpringBoot内部配置:“application.properties配置”和”使用XML配置”,读取属性文件中的内容,日志配置,Profile配置(学习:SpringBoot实战)
- AndroidMenifest.xml中targetSdkVersion和project.properties中的target属性的区别
- spring 注入java.util.Properties 属性两种xml中的配置练习
- Spring —— web.xml 中用 PropertyPlaceholderConfigurer 类读取properties 文件 或 属性
- applicationContext.xml读取properties中属性(转的,方便自己记忆)
- System.getProperties()获得系统属性s
- struts.xml文件中 result标签的 type 属性为redirectAction时URL参数与值的获得
- java中使用Properties加载XML文件设置java窗体应用程序的窗体属性
- hibernate.properties官方属性用例(可用于hibernate.cfg.xml属性参考)
- 获得所有系统属性java.lang.sysytem.getProperties
- System.getProperties("user.dir")获得系统属性
- jboss:在standalone.xml中设置系统属性(system-properties)
- spring引入properties文件,并在controller等层获得引入文件中属性的值
- spring引入properties文件,并在controller等层获得引入文件中属性的值