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
就可以读取了..比如我添加了. 邮件的配置.
分享到:
相关推荐
- **Spring配置文件**:在XML配置文件中,需要配置JPA的属性,如`<jpa:repositories>`元素定义Repository的基包,`<bean>`定义数据源、entityManagerFactory和transactionManager。 - **Application上下文**:如果...
配置方面,Spring Data JPA需要在配置文件中声明数据源、JPA供应商(如Hibernate)、实体扫描路径等。XML配置可以通过`<jpa:repositories>`元素定义Repository的基包,以及`<bean>`标签来配置DataSource和...
- JPA 提供了自动建表的能力,通过配置 `spring.jpa.properties.hibernate.hbm2ddl.auto` 属性,如设置为 `update`,可以在启动应用时根据实体类自动更新数据库结构。 2. **动态 SQL 支持**: - Mybatis 允许在 ...
首先,`pom.xml`是Maven项目的配置文件,它包含了项目依赖和构建设置。在这个项目中,`pom.xml`很可能列出了JPA相关的库,比如Hibernate或EclipseLink作为实现JPA的提供者。通常,我们会看到如下的依赖项: ```xml ...
本示例项目已成功测试,只需根据自己的数据库环境修改相应配置,即可快速搭建起一个功能完备的Spring Data JPA应用。这为开发者提供了方便快捷的方式来管理数据库操作,使他们能更专注于业务逻辑的实现。
其中,`spring.jpa.hibernate.ddl-auto`属性决定了数据库的自动管理策略,`update`表示启动时更新已有表结构,如果表不存在则创建。 3. **创建实体类** 创建Java类作为数据库表的映射,使用`@Entity`注解标记,...
然后在Spring Boot的配置文件`application.properties`或`application.yml`中,设置数据库连接信息: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root ...
在本文中,我们将深入探讨如何在Spring Boot应用中读取本地JSON文件,这是一个常见的后端开发任务,尤其在处理配置数据或进行数据测试时。Spring Boot以其简洁的配置和强大的功能,使得Java开发者能轻松地构建微服务...
在SpringBoot项目中,通过application.properties或application.yml配置文件,我们可以轻松地配置JPA连接到MySQL数据库。配置包括数据库URL、用户名、密码以及驱动类等。JPA的实体类通常对应于数据库中的表,使用...
首先,我们需要在项目的`pom.xml`或`build.gradle`文件中添加Spring Data JPA和数据库驱动的依赖。例如,如果选择使用MySQL,那么在`pom.xml`中添加如下依赖: ```xml <groupId>org.springframework.boot ...
3. **实体扫描**:确保Spring Boot知道在哪里寻找实体类,可以通过在配置文件中指定包名: ```properties spring.data.jpa.entity.packages-to-scan=com.example.entity ``` 4. **启动应用**:完成上述步骤后,...
以下是一些关于JPA配置和使用的知识点: 1. **配置JPA**: 配置JPA通常涉及在`persistence.xml`文件中指定持久化单元(Persistence Unit),其中包括数据库连接信息、持久化提供者、实体类等。例如: ```xml ...
3. **配置持久化单元**:在配置文件(如persistence.xml)中,指定数据源、JPA供应商(Hibernate)、实体类等信息。 4. **初始化EntityManagerFactory**:使用持久化单元信息创建EntityManagerFactory,它是JPA的...
Spring Boot默认集成了多种数据库连接池,如HikariCP、Tomcat JDBC等,只需在配置文件中指定即可。 8. 扩展性与性能优化: Spring Data JPA支持分页查询、排序、关联查询等功能。同时,通过调整JPA配置,如缓存策略...
首先,确保你的Maven项目配置正确,包括`pom.xml`文件中的依赖管理。添加JPA和相关库(如Hibernate、EclipseLink等)的依赖项,例如: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-...
在 Spring 的配置文件中,需要配置 JPA 的数据源、事务管理器以及 Repository 扫描路径。例如: ```xml <bean id="entityManagerFactory" class="org.springframework.orm.jpa....
这通常在Maven或Gradle的配置文件中完成。例如,在Maven的`pom.xml`中,我们需要添加Spring Boot的父依赖和Spring Data JPA依赖: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-...
4. **持久化单元(Persistence Unit)**:在`persistence.xml`配置文件中定义,它指定了要使用的数据库连接信息、JPA供应商、实体类等,是JPA配置的核心。 5. **查询语言(JPQL)**:JPA提供了一种面向对象的查询...
`application.properties` 文件中,我们需要配置数据库连接的相关信息,如 `spring.datasource.url`、`spring.datasource.username`、`spring.datasource.password` 以及 `spring.jpa.hibernate.ddl-auto` 等属性,...
这个“JPA.rar”压缩包文件包含了一个基于JPA实现的订单管理系统的源代码,这为我们提供了一个学习和理解JPA实际应用的实例。 JPA的主要目标是简化数据访问层的开发,通过对象关系映射(ORM)技术将Java对象与关系...