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
就可以读取了..比如我添加了. 邮件的配置.
分享到:
相关推荐
赠送Maven依赖信息文件:spring-data-jpa-2.0.9.RELEASE.pom; 包含翻译后的API文档:spring-data-jpa-2.0.9.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework.data:spring-data-jpa:...
JPA批注参考.JPA批注参考.JPA批注参考.JPA批注参考.
drools-persistence-jpa-5.2.0.Final.jar drools
赠送Maven依赖信息文件:spring-data-jpa-2.0.9.RELEASE.pom; 包含翻译后的API文档:spring-data-jpa-2.0.9.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.springframework.data:spring-...
5-Spring-Boot(五):spring data jpa的使用.docx5-Spring-Boot(五):spring data jpa的使用.docx5-Spring-Boot(五):spring data jpa的使用.docx5-Spring-Boot(五):spring data jpa的使用.docx5-Spring-Boot(五):...
spring+jpa的applicationContext.xml配置
jpa开发手册.doc jpa开发手册.doc
仓库管理系统,SpringBoot+Spring Data JPA+.....
Hibernate+JPA注解教程.docHibernate+JPA注解教程.docHibernate+JPA注解教程.docHibernate+JPA注解教程.doc
spring-data-jpa-1.3.0.RELEASE.zip
spring-data-jpa-1.4.3.RELEASE.jar
管理系统系列--仓库管理系统,SpringBoot+Spring Data JPA+.....
JPA经典课件.全面介绍开发技术。很不错的。
java运行依赖jar包
apache的jpa,版本是1.1.0的,apache主页上能找的到
java程序使用JPA注解详解.zip java程序使用JPA注解详解.zip java程序使用JPA注解详解.zip java程序使用JPA注解详解.zip java程序使用JPA注解详解.zip
jbpm-persistence-jpa-5.1.0.Final.jar jbpm5