使用Spring的嵌套阵列配置
我正试图从下面的yaml中检索配置,在这里我有一些嵌套数组使用Spring的嵌套阵列配置,spring,Spring,我正试图从下面的yaml中检索配置,在这里我有一些嵌套数组 ems: filtered-queue: - filter-regular-expressions: - AAA*MD1 - AAA*MD2 destination-queue-names: - ems.omie1 - ems.aws1 - filter-regular-expressions: - BBB*MD1
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<>();
}
}
import java.util.ArrayList;
导入java.util.List;
导入龙目数据;
导入org.springframework.boot.context.properties.ConfigurationProperties;
导入org.springframework.boot.context.properties.NestedConfigurationProperty;
导入org.springframework.context.annotation.Configuration;
@资料
@配置
@配置属性(前缀=“ems”)
公共类FilteredQueueConfiguration{
@NestedConfigurationProperty
private List filteredQueue=new ArrayList();
@资料
公共类筛选器队列{
私有列表过滤器regularexpressions=new ArrayList();
private List destinationQueuenames=new ArrayList();
}
}
在我的主类中,我有@EnableConfigurationProperties(FilteredQueueConfiguration.class)注释
我总是有同样的例外,大量绑定到目标。。。失败。
有任何关于我做错了什么的线索吗?内部类
FilteredQueue
应该是静态类,请参阅
import java.util.ArrayList;
导入java.util.List;
导入龙目数据;
导入org.springframework.boot.context.properties.ConfigurationProperties;
导入org.springframework.boot.context.properties.NestedConfigurationProperty;
导入org.springframework.context.annotation.Configuration;
@资料
@配置
@配置属性(前缀=“ems”)
公共类FilteredQueueConfiguration{
@NestedConfigurationProperty
private List filteredQueue=new ArrayList();
@资料
公共静态类FilteredQueue{
私有列表过滤器regularexpressions=new ArrayList();
private List destinationQueuenames=new ArrayList();
}
}
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<>();
}
}