setting的简单使用

关于hutool中setting的简单使用

1.简介

Setting配置文件类似于Properties文件,规则如下:

  • 注释用#开头表示,只支持单行注释,空行和无法正常被识别的键值对也会被忽略,可作为注释,但是建议显式指定注释。同时在value之后不允许有注释,会被当作value的一部分。

  • 键值对使用key = value 表示,key和value在读取时会trim掉空格,所以不用担心空格。

  • 分组为中括号括起来的内容(例如配置文件中的[demo]),中括号以下的行都为此分组的内容,无分组相当于空字符分组,即[]。若某个keyname,分组是group,加上分组后的key相当于group.name。

  • 支持变量,默认变量命名为 ${变量名},变量只能识别读入行的变量,例如第6行的变量在第三行无法读取,例如配置文件中的${driver}会被替换为com.mysql.jdbc.Driver,为了性能,Setting创建的时候构造方法会指定是否开启变量替换,默认不开启。

2.代码使用

#中括表示一个分组,其下面的所有属性归属于这个分组,在此分组名为demo,也可以没有分组,分组可以有多个
[demo]
#属性以键值对的形式存在,
driver = com.mysql.jdbc.Driver

3.读取和改变配置

//读取classpath下的XXX.setting,不使用变量
Setting setting =newSetting("XXX.setting");
//读取classpath下的config目录下的XXX.setting,不使用变量
setting =newSetting("config/XXX.setting");//resources下的路径

//Setting读取配置参数
//获取key为name的值
setting.getStr("name");
//获取分组为group下key为name的值
setting.getByGroup("name","group1");
//当通过代码加入新的键值对的时候,调用store会保存到文件,但是会盖原来的文件,并丢失注释
setting.set("name1","value");//此处要的参数为key和value
setting.store("/home/looly/XXX.setting");//注意这里要的时一个绝对路径,执行完后会把改变值写回到文件中

参考文档

https://www.bookstack.cn/read/hutool/7cbca29bc836b1cb.md

posted @ 2021-06-11 16:47  余生很贵请别浪费  阅读(794)  评论(0)    收藏  举报