【问题标题】:Spring 5 getting lists of objects from EnvironmentSpring 5 从 Environment 获取对象列表
【发布时间】:2018-06-19 13:03:36
【问题描述】:

在 Java 9 上使用最新的 Spring 5....

使用以下 YAML:

flow:
  - name: cats
    url: http://dogs.com
  - name: dogs
    url: http://cats.com

使用Environment,可以照常提取嵌套属性值(env.getProperty("flow[0].name") 到字符串)。但是如何将 flow 列表拉入List<Flow>

假设我需要一个映射到 Flow 类的 ConfigurationProperties。不想在 yaml 中添加 flow 前缀。

然后通过EnvironmentgetProperty 的调用会是什么样子(例如env.getProperty("flow", List.class) 但带有通用List<Flow> 参考)。顺便说一句,我想要 flows 列表的原因是在使用单独的 flow 配置设置环境(即 EnvironmentPostProcessor)后注册 bean。

【问题讨论】:

    标签: java spring spring-environment


    【解决方案1】:

    这应该可行。试试看吧。

    @Configuration
    @ConfigurationProperties
    @Getter
    @Setter
    public class Configclass {
    
      List<Flow> flow;
    }
    
    @Getter
    @Setter
    public class Flow {
    
      public String name;
      public String url;
    }
    

    【讨论】:

    • @pypkiran 不知道龙目岛。谢谢。安装程序正常工作,我在“Configclass”中自动连接以进入“Flow”列表。仍然想知道如何从 env.getProperty 转换为通用列表?
    猜你喜欢
    • 2020-05-10
    • 1970-01-01
    • 2018-09-19
    • 2016-02-21
    • 2020-10-30
    • 2011-07-31
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多