gpt4 book ai didi

spring - 使用 Spring 的嵌套数组配置

转载 作者:行者123 更新时间:2023-12-01 14:24:06 25 4
gpt4 key购买 nike

我正在尝试从我有一些嵌套数组的 yaml 中检索配置

ems:
filtered-queue:
- filter-regular-expressions:
- AAA*MD1
- AAA*MD2
destination-queue-names:
- ems.omie1
- ems.aws1
- filter-regular-expressions:
- BBB*MD1
- BBB*MD2
destination-queue-names:
- ems.omie2
- ems.aws2

我已经仔细检查过,没有缩进问题。 ConfigServer 正在正确读取文件。

我当前检索配置的代码如下

import java.util.ArrayList;
import java.util.List;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import org.springframework.context.annotation.Configuration;

@Data
@Configuration
@ConfigurationProperties(prefix="ems")
public class FilteredQueueConfiguration {
@NestedConfigurationProperty
private List<FilteredQueue> filteredQueue = new ArrayList<>();


@Data
public class FilteredQueue {
private List<String> filterRegularExpressions = new ArrayList<>();
private List<String> destinationQueuenames = new ArrayList<>();
}
}

在我的主类中,我有 @EnableConfigurationProperties(FilteredQueueConfiguration.class) 注释

我总是遇到同样的异常 Binding to target ... failed。关于我做错了什么的任何线索?

最佳答案

内部类FilteredQueue应该是static类,见Type-safe Configuration Properties

import java.util.ArrayList;
import java.util.List;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import org.springframework.context.annotation.Configuration;

@Data
@Configuration
@ConfigurationProperties(prefix="ems")
public class FilteredQueueConfiguration {
@NestedConfigurationProperty
private List<FilteredQueue> filteredQueue = new ArrayList<>();


@Data
public static class FilteredQueue {
private List<String> filterRegularExpressions = new ArrayList<>();
private List<String> destinationQueuenames = new ArrayList<>();
}
}

关于spring - 使用 Spring 的嵌套数组配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57037808/

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