动态加载属性文件例子:
java应用:
package com.zzt.application;
import java.io.File;
import org.apache.commons.configuration.CombinedConfiguration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.DefaultConfigurationBuilder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class ConfigReader {
private static final String FILE_NAME = "/config.xml";
public static final Log log = LogFactory.getLog(ConfigReader.class);
public static CombinedConfiguration config;
private ConfigReader() {
}
static {
DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
builder.setFile(new File(FILE_NAME));
try {
config = builder.getConfiguration(true);
} catch (ConfigurationException e) {
log.error("read config file unsuccessfully!", e);
}
}
public static String getProperty(String configName, String key, String defaultValue) {
return config.getConfiguration(configName).getString(key, defaultValue);
}
public static String[] getPropertyAsArray(String configName, String key) {
return config.getConfiguration(configName).getStringArray(key);
}
}
config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<header>
<result delimiterParsingDisabled="true" forceReloadCheck="true">
<expressionEngine config-class="org.apache.commons.configuration.tree.xpath.XPathExpressionEngine" />
</result>
</header>
<override>
<properties fileName="main.properties" throwExceptionOnMissing="true" config-name="main" config-optional="true">
<reloadingStrategy refreshDelay="30000" config-class="org.apache.commons.configuration.reloading.FileChangedReloadingStrategy" />
</properties>
</override>
</configuration>
调用:
String xx= ConfigReader.getProperty("main", "xxx", "x");
需要引入的包:
commons-configuration-1.6.jar
commons-logging.jar
commons-lang.jar
commons-collections.jar
commons-beanutils.jar
commons-jxpath-1.3.jar
分享到:
相关推荐
在IT行业中,动态加载属性文件和Spring Quartz的整合应用是一个重要的技术话题,特别是在构建大型、分布式和可扩展的系统时。下面将详细讲解这两个概念及其相互间的应用。 首先,我们来了解一下动态加载属性文件。...
本篇文章将深入探讨如何在运行时给`PropertyGrid`动态添加属性。 首先,理解`PropertyGrid`的工作原理是关键。`PropertyGrid`通过反射机制来查找并显示对象的公共属性。这意味着在设计时,`PropertyGrid`并不需要...
动态加载外部JS文件是网页开发中的一个重要技术,它允许网页在需要时按需加载JavaScript资源,从而提高页面的加载速度,优化用户体验,并有效地管理复杂的项目结构。以下将详细阐述动态加载的原理、方法以及相关实践...
对于动态加载,我们可以利用`Resource`接口和`ClassPathResource`类来加载运行时变更的属性文件。 除了这两种方式,Spring Boot引入了更强大的`ConfigDataLocationResolver`和`ConfigDataLoader`接口,它们允许我们...
通过添加`async`或`defer`属性,可以实现非阻塞加载。例如: ```html <script async src="path/to/your/script.js"></script> ``` `async`属性使得脚本在可用时立即加载,但不保证执行顺序。`defer`属性则确保...
在C#编程中,动态加载XML文件并修改节点属性值是一项常见的任务,特别是在处理配置文件、数据存储或与XML相关的应用程序交互时。本教程将深入探讨如何实现这一目标,包括XML文档的加载、查找特定节点、修改属性以及...
java通过相对路径或绝对路径加载属性文件。
因此,需要在运行时动态地将新的JavaScript文件添加到DOM中,以实现按需加载。 实现Vue动态加载JavaScript的基本步骤如下: 1. 创建Script元素:在JavaScript中,我们可以使用`document.createElement('script')`...
在Android开发中,动态加载外部资源文件是一种常见的需求,它能增强应用的灵活性和可扩展性。本主题主要探讨如何在Android程序运行时加载不同apk中的资源,包括图片、文字和颜色等。以下是对这个话题的详细阐述: ...
在前端开发中,有时我们需要动态地加载外部JavaScript库或脚本文件。特别是在构建大型Vue应用程序时,可能会遇到需要按需加载某些功能的情况,例如第三方库、API接口等。本文将详细介绍如何通过创建一个Vue组件来...
在IT领域,文件属性是操作系统用来标识和管理文件的关键信息,包括文件的创建日期、修改日期、访问日期、文件大小、文件类型以及权限等。在Windows操作系统中,用户可以通过特定的方式来修改文件的属性以满足不同的...
在iOS开发中,动态加载XIB文件是一种常见的优化技术,它可以提高应用的性能和灵活性。XIB(Interface Builder Document)是Apple的用户界面设计工具,用于创建和编辑UI元素。这篇DEMO展示了如何在运行时根据需要加载...
- 使用`Properties`类的`load()`方法从输入流中加载属性文件。通常,我们可以使用`ClassLoader`来获取属性文件的输入流。这样可以确保无论代码运行在哪里,都能找到资源文件。 ```java Properties props = new ...
本项目名为"wxWidget动态加载资源文件XRC的demo",它提供了一个简单的示例,演示如何在运行时动态加载由XRC定义的资源。这种做法在需要根据用户需求或环境变化灵活调整界面的程序中非常有用。下面我们将深入探讨这个...
- **加载属性文件**:首先,你需要创建一个`Properties`对象,然后调用`load()`方法从输入流中加载属性。通常,我们使用`ClassLoader`获取属性文件的输入流: ```java Properties props = new Properties(); ...
在Windows Presentation Foundation(WPF)框架中,动态调用资源文件是一种常见的技术,它使得开发者能够在运行时根据需求加载和应用不同的资源。标题中的“WPF动态调用资源文件”特指在WPF应用程序中,如何根据用户...
为了提高用户体验并优化性能,开发者常常采用js文件动态加载策略,而不是一次性加载所有资源。本文将深入探讨如何利用JavaScript实现动态加载组件,并介绍如何确保在加载过程中使程序“悬挂”,直到所需文件完全加载...
我们可以使用`java.util.Properties`类来加载和处理属性文件。以下是一个简单的示例: ```java import java.io.FileInputStream; import java.io.IOException; import java.sql.Connection; import java.sql....
在提供的压缩包文件中,`Browes 判断.asp`和`Browes 浏览器判断.asp`可能是用于服务器端进行浏览器检测的ASP文件,而`CheckBr(动态加载Css).js`可能是用于客户端JavaScript动态加载CSS并进行浏览器判断的脚本。...