From:http://www.594k.com/java/html/y2007m4/13644/
Properties 文件是配置程序的一种常用作法. Commons Configuration当然支持这种格式并且增强java.util.Properties
这个类 这一节就是介绍PropertiesConfiguration 类的一些特性。
At 首先,假设有个应用程序的所有配置信息都在一个叫“usergui.properties ”的properties 文件里,文件的内容如下:
# Properties definining the GUI
colors.background = #FFFFFF
要加载这个文件,你可以像下面这样写:
Configuration config = new PropertiesConfiguration("usergui.properties");
If 如果你可以使用文件的绝对路径,那么这个文件会自动在下面几个地方被搜寻:
If a 如果property文件里有叫做 "include
"的键值对,并且值是一个 property文件名, 这么个文件也将被自动包含进配置信息中,举例如下:
# usergui.properties
include = colors.properties
include = sizes.properties
# colors.properties
colors.background = #FFFFFF
A common issue with properties file is to handle the reloading of the file when it changes. 通常你需要开启一个线程来监视配置文件的时间,并在文件被修改后重新加载进来。 Commons Configuration集成了这个加载机制, 如果需要使用自动加载,只需要在年id配置信息里声明一个自动重载策略:
PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
config.setReloadingStrategy(new FileChangedReloadingStrategy());
现在你随时手动修改了usergui.properties,
配置信息都能够自动刷新,修改后的值立即在程序里生效。
调用save()方法就可以保存你的配置:
PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
config.setProperty("colors.background", "#000000);
config.save();
你也可以复制一份配置保存到另外一个文件:
PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
config.setProperty("colors.background", "#000000);
config.save("usergui.backup.properties);
如果你不想在配置信息改变之后费心的手动保存文件,你可以激活自动保存模式::
PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties");
config.setAutoSave(true);
config.setProperty("colors.background", "#000000); // the configuration is saved after this call
Commons Configuration 可以很轻松的返回一组值, 例如你的文件包含了用逗号分割的一组数据:
# chart colors
colors.pie = #FF0000, #00FF00, #0000FF
你不用手动拆分字符串,可以直接作为数组返回:
String[] colors = config.getStringArray("colors.pie");
另外一种作法, 你可以通过多行的同名键值对,来返回一组值。
# chart colors
colors.pie = #FF0000;
colors.pie = #00FF00;
colors.pie = #0000FF;
如果你熟悉Ant或者Maven,你肯定已经用到 (像 ${token}
)这样可以在配置文件被加载时自动扩充的变量。 Commons Configuration 也支持这样的特性, 下面是个示例:
application.name = Killer App
application.version = 1.6.2
application.title = ${application.name} ${application.version}
特殊字符
如果你需要用到一些特殊字符,比如换行符,制表符,或者unicode字符,你需要进行字符转义,字符串分隔符(默认的是逗号“,”)也需要被转义 :
key = This \n string \t contains \, escaped \\ characters \u0020
分享到:
相关推荐
本压缩包“java配置文件.7z”包含了多种关键的Java项目配置,包括数据库连接、Maven仓库设置、MyBatis框架配置以及Spring框架配置。下面将对这些配置文件进行详细的解释: 1. **db.properties**: 这个文件通常...
- 导航至 `Configuration Properties -> Linker -> Debugging`。 - 在 `Generate Map File` 设置项中选择 `Yes (/MAP)`。 2. **生成 COD 文件**: - 同样打开项目属性设置 (`Property`)。 - 转到 `...
Nacos的配置可以通过修改`conf`目录下的`application.properties`文件进行,例如修改端口号、数据源配置、日志级别等。 七、Nacos监控 Nacos提供了丰富的监控指标,可以通过监控页面查看服务器的内存、CPU使用情况...
全志R40平台的tinav2.1系统下打开SPI2接口 1、(可选修改) Q:\r40_tinav2.1\spi20_r40_tinav2.1\lichee\brandy\build.sh build_uboot() { if [ "x${PLATFORM}" = "xsun50iw1p1" ] || \ [ "x${PLATFORM}" = "xsun...
例如,如果项目使用的是MySQL数据库,则需要将`mysql-connector-java-x.y.z.jar`(MySQL官方提供的JDBC驱动)一同放置到该目录下。 ##### 2. 配置proxool.xml文件 接下来需要在`WEB-INF`目录下创建`proxool.xml`...
- **配置SpringBoot**:在`application.properties`中设置日志配置文件路径: ``` logging.config=classpath:log4j2-spring.xml ``` 3. **使用与实践** - **日志输出**:在代码中使用`LoggerFactory.getLogger...
- **答案解析**:正确答案是B,即可以在/opt/portal/7.0/sys/eai_js目录下找到Infranet.properties文件。 ##### 5. 下列哪个操作码未在业务流程层实现? - **问题解析**:此题考查的是不同操作码在业务流程层的实现...
Nacos,全称为"Naming and Configuration Service",是阿里巴巴开源的一款基于Java的动态服务发现和配置管理框架,它在Spring Cloud生态中扮演着重要的角色。本文将深入探讨Nacos 1.4.2版本在Windows和Linux操作系统...
DHCP (Dynamic Host Configuration Protocol) 是一种网络协议,主要用于自动分配、管理IP地址和其他网络配置信息,使得网络设备(如计算机、路由器等)能够迅速接入网络。然而,标题中的"dhcp-c3p0-jar包.7z"实际上...
@Configuration public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .requiresChannel() .anyRequest...
Z:\home\wwt\only_bma250_r58\android\device\softwinner\common\hardware-common\libhardware\libsensors\aw_sensors\sensorDetect.cpp struct sensor_extend_t gsensorList[] = { { { "bma250", LSG_BMA250, }...
`application.properties`或`application.yml`是常用的配置文件,它们允许我们在不修改代码的情况下改变应用的行为。 最后,笔记可能会介绍Spring Boot的测试支持,包括单元测试和集成测试。`@SpringBootTest`和`@...
- 在“Configuration Properties”中,选择“Linker”->“Input”->“Additional Dependencies”。 - 输入`Dll1.lib`,点击“Apply”保存设置。 4. **编写调用代码**:在`MainApp`中编写代码来调用`add`和`...
- 将`log4j.properties`文件放置于项目的`src`目录下,用于配置日志记录规则。 - 将`struts-2.1.7.dtd`和`struts.xml`放置于`src`目录下,它们是Struts2的核心配置文件。 #### 三、集成Hibernate 1. **添加...
标题 "mybasedemo.7z" 提供了一个线索,它是一个使用7-Zip压缩格式的文件,可能包含了一个基于SpringBoot的项目实例。这个项目利用了MyBatis和MyBatis Generator来自动化数据库操作的配置和代码生成。下面将详细讨论...
**ApplicationResources.properties** 文件主要用于定义错误消息的国际化文本。在这个文件中,我们可以看到定义了一系列错误消息,这些错误消息对应于不同的验证失败情况。例如: - `errors.required={0}\u4e0d\u80...
- 可以利用SpringBoot的自动配置特性,创建一个自定义的`@Configuration`类,以更优雅的方式管理SAP连接的生命周期和初始化过程。 5. **编写业务逻辑**: - 根据项目需求,将RFC调用融入到业务逻辑中。例如,你...
configurationFile = file('generatorConfig.xml') // 配置文件路径 outputDir = file('src/main/java') // 输出目录 classpathElements = [ 'path/to/jdbc/driver.jar' ] // JDBC驱动路径 } ``` 在`...
【标题】"sza-t2-access:Zadanie domowe z kursu Spring Boot 2 SZA-Tydzień2" 暗示这是一项基于Spring Boot 2的课程作业,可能涉及Spring Security或访问控制方面的内容。在Spring Boot 2框架中,Spring Security...