owner-Java Properties配置文件管理工具

Myth丶恋晨 2024-03-23 12:55 49阅读 0赞

owner-Java Properties配置文件管理工具

概述

wner 是一个 java 库,旨在减少通过 properties 文件来处理应用程序配置的代码。它已经打包成一个 jar 文件,你也可以从 Maven 中央仓库下载。开发此 API 是受 GWT i18n 启迪(点此查看)。使用 GWT i18n 来加载配置文件有一个问题,那就是它仅仅适用于客户端代码(JavaScript),不是标准的 java 类。此外,GWT 是一个大的库,它是为了很多用途而设计,并不仅仅针对配置文件。

项目以及文档地址如下:
Githup owner项目
英文文档
中文文档

安装依赖

Maven 仓库地址
最新版本为1.0.12

  1. <dependency>
  2. <groupId>org.aeonbits.owner</groupId>
  3. <artifactId>owner-java8</artifactId>
  4. <version>1.0.12</version>
  5. </dependency>

使用

先定义一个与properties配置文件映射的接口。接口需要继承Config类

  1. @LoadPolicy(Config.LoadType.FIRST) //加载策略
  2. @Sources({
  3. "classpath:ServerConfig.properties"}) //指定配置文件
  4. public interface ConfigTest extends Config{
  5. ConfigTest INSTANCE = ConfigFactory.create(ConfigTest.class);
  6. @DefaultValue("fw")
  7. String name();
  8. @DefaultValue("0")
  9. @Key("age")
  10. Integer age();
  11. }

配置文件ServerConfig.properties如下

  1. name=zhangsan
  2. age=18

映射规则

默认映射规则

  • 定义的接口和配置文件名称需要相同,而且要在同一个包下,这样Owner才会自动关联他们;

非默认映射规则

  • 如果配置文件和接口不在一个包下,而且文件名也不一样,这时可以通过@Sources注解指定配置文件;这样配置文件和接口也会关联起来;

properties文件中定义的属性名也会自动和java类中相同名字的方法关联,如果属性名和方法名称不一样,可以通过@Key注解指定配置文件中的属性名;另外将会自动进行关联类型的转换。

常用注解:

  • @DefaultValue:指定默认值;
  • @Sources:指定加载的properties文件。如果指定了多个文件,属性值只会从第一个被找到的文件中加载,一但有匹配的文件被加载,其它的都会被忽略。这时默认的加载方式,也可以使用 @LoadPolicy(LoadType.FIRST) 注解来指定;
  • @LoadPolicy:指定加载策略。LoadType.FIRST:属性值只会从第一个被找到的文件中加载,一但有匹配的文件被加载,其它的都会被忽略;LoadType.MERGE:会加载所有的配置文件,但是属性值以第一个properties文件的为准;

发表评论

表情:
评论列表 (有 0 条评论,49人围观)

还没有评论,来说两句吧...

相关阅读