#记 springboot修改配置文件(properties或yml)
最近项目开发快完成了(ssm—>springboot架构),在项目构建过程中有很多数据都是配置在properties或yml文件中,昨天经理给我提了个需求:写个api去修改配置文件中的数据值,然后还要用日志记录.
当然作为一个java程序员(面向百度程序员…呸! 面向对象…)本着学习的精神去搜索了一波大神们的操作,结果发现基本没有在程序运行的过程去修改配置文件的操作的
关于这种修改配置文件的操作朋友给了我一些建议,这种***需要修改的数据建议存放到数据库中接口就可以搞定了***
用过springboot 的小伙伴们都知道配置完热部署之后,修改任意内容刷新后都会导致项目自动重启(yml/properties文件同样如此).
当然也不是说代码不能修改yml文件的配置 ,这里提供一个简单的方法来读取修改yml配置文件的内容
代码如下:
import org.yaml.snakeyaml.Yaml;中提供了yaml.load和yaml.dump(data)方法
Writer writer;
int rp, p;
try {
Map m1,m2,m3,m4;
Yaml yaml = new Yaml();
File file = new File("setting.yaml");
//也可以将值转换为Map
m1 = (Map) yaml.load(new FileInputStream(file));
//通过map我们取值就可以了.
m2 = (Map) m1.get("tunnels");
m3 = (Map) m2.get("mc");
m3.put("remote_port", 44444);
m4 = (Map) m3.get("proto");
m4.put("tcp", 3