我知道如果我把属性放在。yml文件如下:
list
- item 1
- item 2
我可以将它们绑定到java。util。列出或设置类型。如果yaml属性如下:
map:
key1: value1
key2: value2
我可以把它绑在地图上。我想知道是否可以将yml属性绑定到映射
谢谢它帮助了我:)我在这里发布了更具描述性的答案。
配置类-
@ConfigurationProperties(prefix = "configuration.mymapwithlist")
public class ConfigUtilClass implements IConfigUtilClass {
private Map<String, List<String>> myMap = new HashMap<>();
@Override
public Map<String, List<String>> getMyMap() {
return myMap;
}
}
Yaml-
configuration:
mymapwithlist:
myMap:
key1:
- value 1
- value 2
- value 3
- value 4
key2:
- value 1
- value 2
- value 3
- value 4
'[key 3]':
- value 1
- value 2
- value 3
- value 4
'[key 4]':
- value 1
- value 2
- value 3
- value 4
如果您的键有空格,请将键放入[键4]。
尝试添加以下内容:
private Map<String, List<String>> keysList;
把这个放进你的。yml文件
keysList:
key1:
- value1
- value2
key2:
- value2
- value3
key3:
- value3
- value4
结果应该是列表映射:
keysList={key1=[值1,值2], key2=[值2,值3], key3=[值3,值4]}
如果你用这种方式
private Map keysList;
您将获得地图映射。
keysList={key1={0=value1,1=value2},key2={0=value2,1=value3},key3={0=value3,1=value4}}
我发现Spring Boot(或者一般的Spring)对yaml集合的处理有点奇怪。根据yaml规范的集合应该写在。yaml文件中,如下所示: 或 但是注释或(也尝试)都不能读取集合属性(返回null)。我所知道的唯一有效的方法是使用Spring Boot文档中描述的注释。 null 所以,我的问题是--如果我不能使用的话,什么是读取集合类型属性的好方法?同样奇怪的是,为什么逗号分隔格式有效,而不
我试图将子类属性绑定到GridViewColumn。我有一个母类M1和三个不同的子类S1、S2和S3。GridViewColumn由类M1的对象填充。我希望将S2的一个属性绑定到这个GridViewColumn的头,而M1中没有实现这个属性。 有人能给我解释一下怎么做吗?
我有以下代码: 生日属性的类型为java.time。LocalDate,并且属于类Person。因为我使用JPA,所以我不想使用JavaFX属性。上述代码无法编译。编译器的错误消息是: 我该如何解决这个问题? 更新:我的个人类具有以下代码: 控制器类:
我正在开发一个简单的Java程序来完成一些简单的mySQL内容。它有一个用JavaFX制作的小GUI。 GUI的控制器有一个SimpleBoleanProperty,我们称之为X,它指示到数据库的连接状态。我将一些简单的东西绑定到它,比如按钮的disableProperty so send querys,如果没有连接,应该禁用它。到现在为止,一直都还不错。 我有一个标签,用于执行以下操作: 如果X
如何在Spring Boot中将属性绑定到POJO? POJO类是第三方库类-我不能将@ConfigurationProperties放在那里 我知道一些实用程序类,如DataBinder,可以帮助,但可能有一个更快的方法。提前谢谢你。
我正在将一个项目升级到Spring Boot 2.2.6。在编译错误之后,将yaml属性数据绑定到对象列表- **请注意,该项目是在我使用的以前版本的spring boot(2.2.1)中编译的** JAVAlang.IllegalStateException:未能加载ApplicationContext,原因是:org。springframework。靴子上下文属性。ConfigurationP