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 分组读取配置信息的主要内容,如果未能解决你的问题,请参考以下文章