gpt4 book ai didi

java - Spring环境属性 validator

转载 作者:行者123 更新时间:2023-12-01 09:13:50 25 4
gpt4 key购买 nike

我正在尝试制作某种所有环境属性 validator 。我想要的只是从环境中获取所有属性。

(我已经在这里找到了这个:Spring: access all Environment properties as a Map or Properties object)

接下来是我想要创建的所有属性environment.getProperty(x)如果某些属性为空,那么我只想添加它们并作为 Excpetion 消息抛出。

效果很好,但是..在记录器初始化和 jpa/hibernate 初始化之后执行所有依赖项的检查。

我可以在该操作之前以某种方式使用我的“验证机制”并访问环境 bean 吗?或者也许有办法在不运行应用程序的情况下获取环境?

最佳答案

  1. 据我所知,没有任何机制可以通过 NULL 检查所有属性。如果您使用 Java 8,则可以从 Map 中过滤 NULL 属性。例如,您在 map yourPropertiesMap 中收集的属性:

一)

Map<String, String> notNullPropertiesMap = yourPropertiesMap.entrySet()
.stream()
.filter(entry -> Objects.nonNull(entry.getValue()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));

b)

Map<Boolean, List<Map.Entry<Object, Object>>> splitPropertiesMap = yourPropertiesMap.entrySet()
.stream()
.collect(Collectors.partitioningBy(entry -> Objects.nonNull(entry.getValue())));

第二个示例中splitPropertiesMap.get(Boolean.TRUE)将返回所有非NULL属性映射的列表。

  • 我觉得这个问题有点奇怪,你需要检查一下你的属性。
  • 无论如何,我希望它能帮助您简化代码。

    关于java - Spring环境属性 validator ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40730631/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com