Config- 摆脱配置的烦恼
在做项目的时候,常常会有多环境多场景的不同配置.在获取配置的时候有没有感觉很繁琐.今天介绍Config, 从此摆脱配置的烦恼.
<!-- https://mvnrepository.com/artifact/com.typesafe/config -->
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>1.3.4</version>
</dependency>
2.resources目录下创建配置文件

3.创建测试类进行测试
package dintalk.cn.common.demo;
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
/**
* @ClassName: ConfigDemo
* @Description:
* @Author: song hui
* @Date: 2021/11/25
*/
public class ConfigDemo {
private Config config;
public void initConfig(){
// 加载指定 路径配置
// this.config = ConfigFactory.load("common/application");
// 默认加载 resources 下的*.properties, *.conf(不含其子目录)
// .conf 文件可以配置json 对象
this.config = ConfigFactory.load();
// 不同配置文件中相同的key会覆盖
/*
* 如果多个config 文件有冲突时,解决方案有:
* 1. a.withFallback(b) //a和b合并,如果有相同的key,以a为准
* 2. a.withOnlyPath(String path) //只取a里的path下的配置
* 3. a.withoutPath(String path) //只取a里出path外的
*/
// Config firstConfig = ConfigFactory.load("first");
// Config secondConfig = ConfigFactory.load("second");
// this.config = firstConfig.withFallback(secondConfig);
}
public Config getConfig() {
return config;
}
public static void main(String[] args) {
ConfigDemo configDemo = new ConfigDemo();
configDemo.initConfig();
Config config = configDemo.getConfig();
System.out.println(config.getString("r"));
// .conf文件中配置的json 对象
Config a = config.getConfig("b");
// 打印 .conf文件中一个json对象的某一个值
System.out.println(a.getString("host"));
// 获取配置文件中通过"." 划分的层级配置
Config d = config.getConfig("d");
System.out.println(d.getString("c"));
// 区分大小写
System.out.println(config.getString("C"));
}
}
怎么样? 方便吧! 你学废了吗?
作者:Mr.SongHui
欢迎转载,但必须给出原文链接,并保留此段声明。
粉丝福利:
【腾讯云·年末有礼】云产品限时秒杀,云服务器1核2G,首年128元
【腾讯云】海外1核2G服务器低至2折,半价续费券限量免费领取!
【腾讯云】专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得
【腾讯云】热卖云产品3折起,云服务器、云数据库特惠,服务更稳,速度更快,价格更优
【腾讯云】腾讯云服务器安全可靠高性能,多种配置供您选择
【腾讯云】助力中小微企业上云,满足轻量级Web应用需求,云服务器钜惠 166元/年起
【腾讯云】云数据库全场年购3折起,新用户上云6个月仅需10元
【腾讯云】腾讯云数据库性能卓越稳定可靠,为您解决数据库运维难题
【腾讯云】腾讯云图,像PPT一样简单的数据可视化工具。5元搞定数据可视化,模板丰富,拖拖拽拽就能做出好看的可视化大屏
【腾讯云】流量包低至0.12元/GB , 结合在线教育、电商直播、社交直播场景,提供IM+直播+点播音视频组合优惠
【腾讯云】Redis单机版特惠2.1折起,为缓存业务量身定制,新用户8元起购
【腾讯云】专业版APP加固特惠5折起,可享免费兼容性测试
【腾讯云】专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得
【腾讯云·年末有礼】云产品限时秒杀,云服务器1核2G,首年128元
【腾讯云】海外1核2G服务器低至2折,半价续费券限量免费领取!
【腾讯云】专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得
【腾讯云】热卖云产品3折起,云服务器、云数据库特惠,服务更稳,速度更快,价格更优
【腾讯云】腾讯云服务器安全可靠高性能,多种配置供您选择
【腾讯云】助力中小微企业上云,满足轻量级Web应用需求,云服务器钜惠 166元/年起
【腾讯云】云数据库全场年购3折起,新用户上云6个月仅需10元
【腾讯云】腾讯云数据库性能卓越稳定可靠,为您解决数据库运维难题
【腾讯云】腾讯云图,像PPT一样简单的数据可视化工具。5元搞定数据可视化,模板丰富,拖拖拽拽就能做出好看的可视化大屏
【腾讯云】流量包低至0.12元/GB , 结合在线教育、电商直播、社交直播场景,提供IM+直播+点播音视频组合优惠
【腾讯云】Redis单机版特惠2.1折起,为缓存业务量身定制,新用户8元起购
【腾讯云】专业版APP加固特惠5折起,可享免费兼容性测试
【腾讯云】专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得
[需要广告托管服务的朋友请留步哦]


浙公网安备 33010602011771号