读取 jpa 的配置文件.添加自己的属性.
2014-11-14 00:00
519 查看
package com.freewebsys.sns.common; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.util.Enumeration; import java.util.Iterator; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.dom4j.Document; import org.dom4j.DocumentFactory; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.xml.sax.SAXNotRecognizedException; import org.xml.sax.SAXNotSupportedException; public class SysConfUtil { /** * @param args * @throws MalformedURLException */ public static void main(String[] args) throws MalformedURLException { // TODO Auto-generated method stub System.out.println(getConfigValue("mail.host")); // System.out.println(getConfigValue("mail.username")); } private static Document document = null; static { Enumeration<URL> xmls; SAXReader reader = new SAXReader(DocumentFactory.getInstance()); try { xmls = Thread.currentThread().getContextClassLoader() .getResources("META-INF/persistence.xml"); if (xmls.hasMoreElements()) { URL configURL = xmls.nextElement(); document = reader.read(configURL.openStream()); } } catch (Exception e) { System.out.println("加载配置失败:" + e.getMessage()); } // System.out.println(document.selectSingleNode("@name=mail.host")); } @SuppressWarnings("unchecked") public static String getConfigValue(String name) { System.out.println(document.getRootElement().getName()); // /*[name()='persistence']/*[name()='persistence-unit']/*[name()='properties']/*[name()='property'] // 得到根节点 Element root = document.getRootElement(); // 得到persistenceUnit Element persistenceUnit = root.element("persistence-unit"); // 得到下面的属性 Element properties = persistenceUnit.element("properties"); // 对属性进行循环,找到自定义的配置 for (Iterator<Element> i = properties.elementIterator("property"); i .hasNext();) { Element property = i.next(); if (property.attributeValue("name") != null && property.attributeValue("name").equals(name)) { // 如果有这个属性返回value return property.attributeValue("value"); } } return ""; } }
经过 测试 可以读取 配置文件.并且 打成 jar 包之后 也可以读取到配置文件.
在 properties 下面添加 自己的属性就 property
就可以读取了..比如我添加了. 邮件的配置.
相关文章推荐
- 读取 jpa 的配置文件.添加自己的属性.
- spring boot 添加自定义配置文件并读取属性
- SystemProperties读取资源文件.properties文件的配置属性
- 自己写BeanFactory,实现读取配置文件,并根据发射创建对象。
- 读取、添加、删除、修改配置文件 如(Web.config, App.config)
- 根据不同的操作系统读取配置文件/java读取属性文件代码
- 读取 为 指定 dll 添加的 配置文件App.config
- 读取操作属性配置文件
- struts2无刷新图片(文件)上传 充分利用struts配置文件 自己只需要把读取到的文件写入文件系统就可以了
- java读取和设置配置文件中的属性参数
- 创建xml文件,添加节点,读取xml文件中某属性的属性值
- 使用java程序读取配置文件中的相关属性值-asp.net关注
- 读取属性文件,保存相关配置参数
- c#配置文件appStrings配置节的读取、添加和修改
- java中经常用到的读写配置文件的信息properties属性的写入,读取例子
- C 添加, 读取配置文件 函数
- Linux读取属性配置文件注意事项
- php读取ini配置文件属性
- android应用面试宝典(下);用自定义组件控制循环组件使用bug还添加标志显示答案标志位;通过包名读取配置文件AndroidManifest.xml
- 不同软件设计其配置文件里的信息时,所设计信息的格式(写法)是不一样的,没有统一的,各自软件知道自己的配置文件的读取规则即可