gpt4 book ai didi

java - 将 YAML 文件中的列表映射到对象列表

转载 作者:行者123 更新时间:2023-11-30 02:08:18 26 4
gpt4 key购买 nike

我正在尝试将 application.yml 文件中的列表注入(inject)到 Spring Boot 应用程序中的 Java 对象列表中。

我看过其他类似问题的一些答案Mapping list in Yaml to list of objects in Spring Boot但我有不同的输出错误。

我的 YAML 文件

s3tool:
buckets:
-
name: myentity1
accessKey: access
secretKey: secret
endpoint: endepoint
proxyPort: 3128
proxyHost: gateway-address
-
name: myentity2
accessKey: access
secretKey: secret
endpoint: endepoint
proxyPort: 3128
proxyHost: gateway-address

我还创建了 Bucket 类

 public class Bucket {

private String name;

private String accessKey;

private String secretKey;

private String endpoint;

private String proxyHost;

private int proxyPort;

//getters and setters
}

以及我在 YAML 中注入(inject)列表的配置类

    @Configuration
@EnableConfigurationProperties
@ConfigurationProperties
public class S3ClientHelper {

@Value("${s3tool.buckets}")
private List<Bucket> buckets;

//others methods
}

当 Spring Boot 开始执行时,出现以下错误:

  Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 's3tool.buckets' in value "${s3tool.buckets}"

我也尝试过简单的字符串列表,但也遇到了类似的错误。我该怎么做?

最佳答案

试试这个

@Configuration
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "s3tool")
public class S3ClientHelper {

private List<Bucket> buckets;

//others methods
}

关于java - 将 YAML 文件中的列表映射到对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50837283/

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