【问题标题】:How to update only some values in spring config file如何仅更新弹簧配置文件中的某些值
【发布时间】:2017-06-19 10:08:04
【问题描述】:

有什么简单的方法可以只更新 spring 配置文件中的一些值吗? 我正在使用 .yml 配置文件,用户可以在其中设置纯文本密码或加密密码。我想在我的 CLI 应用程序中使用命令,它会加密所有密码,但不会覆盖整个文件(不会从配置文件中删除用户 cmets)。

【问题讨论】:

    标签: java spring yaml


    【解决方案1】:

    由于您在编程网站上提问,我假设程序被认为是一个简单的解决方案。唯一需要保持不变的是要更新的实际值的索引。

    首先安装ruamel.yaml(免责声明:我是该软件包的作者),它将在往返过程中保留您的 cmets 等

    import sys
    from ruamel.yaml import YAML
    from ruamel.yaml.util import load_yaml_guess_indent
    
    yaml = YAML()
    
    with open(sys.argv[1]) as fp:
        data, indent, bsi = load_yaml_guess_indent(fp)
    
    # adjust this
    data['path']['to']['password'] = sys.argv[2]
    
    with open(sys.argv[1], 'w') as fp:
        yaml.dump(data, fp)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 2016-11-09
      相关资源
      最近更新 更多