整理的Java工具包
张泳健 7a6d49a09a init config loader il y a 5 ans
..
src init config loader il y a 5 ans
README.md init config loader il y a 5 ans
pom.xml init config loader il y a 5 ans

README.md

仿SpringBoot属性文件加载

一般Java应用程序中,用于加载属性文件

依赖

1.必须的依赖

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>${jackson.version}</version>
</dependency>

2. 可先依赖(至少有一个,或者两个都加)

<!-- yml/yaml -->
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-yaml</artifactId>
    <version>${jackson.version}</version>
</dependency>

<!-- properties -->
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-properties</artifactId>
    <version>${jackson.version}</version>
</dependency>

如果两个依赖都加的话,文件后缀顺序为:

  1. yml - jackson-dataformat-yaml
  2. yaml - jackson-dataformat-yaml
  3. properties - jackson-dataformat-properties

用法

ConnectorProperties.java

@Data
public class ConnectorProperties {

    private Connector connector;
    private Transfer transfer;
    private Redis redis;

    @Data
    public static class Connector {
        private Integer port;
    }

    @Data
    public static class Transfer {
        private List<String> urls;
    }

    @Data
    public static class Redis {
        private String host;
        private Integer port;
        private String password;
        private int database;
    }

}

application.yml

profile:
  active: dev

application-dev.yml

connector:
  port: 9081
transfer:
  # all transfer services url
  urls: [127.0.0.1:9082]
redis:
  host: ${connector.port}
  port: 6379
  password:
  dababase: 0

默认的配置文件为application.yml/application.yaml/application.properties

ConnectorProperties connectorProperties = ConfigLoader.parseConfig(ConnectorProperties.class);