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张,先到先得
[需要广告托管服务的朋友请留步哦]
![](https://images.cnblogs.com/cnblogs_com/dintalk/1627399/o_200106070851qq.jpg)