Spring Boot 如何编辑动态yaml文件的特定键

kmpatx3s  于 2024-01-06  发布在  Spring
关注(0)|答案(1)|浏览(172)

我们正在开发一个优先级排序系统,该系统使用线性规划,并根据多个约束对数据进行优先级排序。所有这些动态约束都存储在yaml文件中,用户可以在需要时请求更改其值,而无需修改代码。现在我们正在开发一个UI,该UI可以在不破坏yaml配置文件的情况下修改少量约束,并具有以下要求:
1.并非所有值都可以编辑。
1.很少有键是隐藏的,因为它们只由开发人员使用。
1.少数关键字是只读字段,需要向最终用户显示。
我将所有这些信息存储在一个DB表中,如下所示,并将其放入java列表中|键名称|可以编辑(_E)|可显示(_V)||-----------------|---------|------------|| key1.key2.key3 |真正|真正|
现在,我如何通过只过滤这些值来解析Yaml文件并将其更新为新文件。
考虑到这个yaml配置文件是通用的,因为它应该支持任何类型的yaml文件,我不能创建任何pojo的每一个yaml结构。所以我需要使用一些动态解析器来更新和创建新的文件。请建议任何方法。

kxe2p93d

kxe2p93d1#

这种方法帮助了我。

  1. @Configuration
  2. @ConfigurationProperties(prefix = "app")
  3. public class PropertiesConfig {
  4. @Autowired
  5. private Environment env;
  6. ...
  7. public String getDeliveryMethod(String clientId) {
  8. return env.getProperty("app.delivery.method."+clientId);
  9. }
  10. public String getClientSftpUsername(String clientId) {
  11. return env.getProperty("app."+clientId+".sftp.username");
  12. }
  13. }

字符串

展开查看全部

相关问题