java 分组读取配置信息

Posted G_whang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 分组读取配置信息相关的知识,希望对你有一定的参考价值。

如果在项目中有多个系统对接,每个系统有一套配置文件,例如:加解密密钥,唯一标识,系统地址等等
这个时候如果在使用时候1个1个的读取会很混乱,所以可以通过配置按照不同系统配置获取
代码如下:
配置文件

channel:
  config:
    keys:
     gwh:
      name: lisi
      age: 20
      number: gwh
     tk:
      name: zhangsan
      age: 22
      number: tk

配置信息实体类 与配置文件一一对应,如果有多个,可以添加字段

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 配置信息
 */
@Getter
@Setter
@ToString
public class CommonChannelKey {

    /**
     *  姓名
     */
    private String name;

    /**
     * 年龄
     */
    private String age;

    /**
     * 编号 唯一
     */
    private String number;

}

属性获取类


import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.HashMap;

@Component
@Getter
@Setter
@ConfigurationProperties(prefix = "channel.config")
public class CommonChannelKeyConfig {

    /**
     * key: 渠道代码
     * value:配置的Key
     */
    private HashMap<String, CommonChannelKey> keys;

    public CommonChannelKey getConfig(String key){
        return keys.get(key);
    }

}

测试类

import com.example.hibernatevalidatortest.config.CommonChannelKey;
import com.example.hibernatevalidatortest.config.CommonChannelKeyConfig;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class ConfigTest {

    @Autowired
    private CommonChannelKeyConfig config;


    /**
     * 根据唯一编码 获取不同客户端之间的 配置信息
     */
    @Test
    public void configTest(){

        CommonChannelKey config = this.config.getConfig("gwh");

        System.out.println(config.toString());

    }

结果如下
在这里插入图片描述

以上是关于java 分组读取配置信息的主要内容,如果未能解决你的问题,请参考以下文章

json配置文件,如何在打开json文件时,缩进和分组,显示标签的分组层次结构(注意,各分组可折叠或伸展)

我无法从 android 的片段中读取活动中的数据库信息

Java读取配置文件的几种方法

java读取配置文件的信息

java读取配置文件信息

读取配置文件的几种方法