当前位置: 首页 > 知识库问答 >
问题:

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

薄涵衍
2023-03-14

我正在尝试在我的应用程序中注入列表。我的Spring Boot应用程序中Java对象列表的yml文件。

我已经看到了其他类似问题的一些答案,这些问题将Yaml中的列表映射到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

    @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}"

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

共有1个答案

高德水
2023-03-14

试试这个

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

    private List<Bucket> buckets;

  //others methods 
}
 类似资料:
  • YAML文件: 配置类: 我希望@value注释允许我注入相应的属性值,但这似乎不起作用(注入'id'字段似乎工作得很好)。

  • 问题内容: 在我的Spring Boot应用程序中,我具有以下内容的application.yaml配置文件。我想将其作为带有通道配置列表的Configuration对象注入: 我想用PaymentConfiguration对象列表填充@Configuration对象: 我使用@Autowired构造函数将其作为普通bean注入。xyz的值正确填充,但是当Spring尝试将yaml解析为对象列表时

  • 有什么线索吗?这里出了什么问题?

  • 给定: 我想把所有的车都标出来。将轮胎分为单独的轮胎板。我知道我可以做一个

  • 下面是我的DTO。 源DTO 目标DTO

  • 问题内容: 我正在使用Spring MVC框架编写简单的博客Web应用程序。我愿意为我的应用添加图层。 我决定使用ModelMapper框架从对象转换为视图中使用的对象。 我只有一个问题。在我的主页上,我正在显示博客中的帖子列表。在我看来,这只是(实体)对象的列表。我想更改它以将对象列表传递给我的视图。有没有什么办法来映射的对象的单方法调用的对象?我当时在考虑编写将对此进行转换的转换器,但是我不确