我有以下yml配置:
foo:
bar.com:
a: b
baz.com:
a: c
在下一个类中,Spring尝试使用键“ bar”和“ baz”注入地图,将点视为分隔符:
public class JavaBean {
private Map<String, AnotherBean> foo;
(...)
}
我曾尝试引用密钥(即“ bar.com”或“ bar.com”),但无济于事-仍然是同样的问题。有没有解决的办法?
@fivetenwill的答案的略微修订,在Spring Boot 1.4.3上对我有用。
foo:
"[bar.com]":
a: b
"[baz.com]":
a: c
您需要将括号括在引号内,否则YAML解析器基本上会在到达Spring之前将其丢弃,并且它们不会放入属性名称中。
我有一个Map,其中键是字符串,值是逗号分隔的值列表。 我如何才能逆转键/值对的顺序,并分配给新Map,使键成为值,值成为键 所以: 变成: 一种可能的解决方案是迭代每个值,然后迭代每个键,搜索相同的对应值。如果找到,将这个新的键/值对添加到一个新映射中。这似乎效率低下? 解决方案(使用公认的答案实施):
这
问题内容: 我正在编写一个项目,该项目从.java文件中捕获Java关键字,并使用地图跟踪事件的发生。过去,我已经成功地使用了类似的方法,但是我似乎无法为我的预期用途采用这种方法。 该代码块应该将关键字添加到键,并在每次出现相同的键时递增该值。到目前为止,它添加了关键字,但是未能正确增加该值。这是一个示例输出: 基本上,它会增加映射中的每个值,而不是应该增加的值。我不确定我是否对此考虑过多。我尝试
如何将YAML列表加载到Spring框架项目中的Java列表(没有springboot)? 我看到它在springboot项目中与一起工作。但我无法让它在纯spring框架项目中使用。似乎注释无法正确解析列表。 下面是一个示例项目:https://github.com/KiranMohan/spring-yaml. 为了加载yaml文件,我使用了。 代码在jUnit类中进行测试。 输出is 示例y
有时我发现自己复制代码以从Map中提取键和值条目(例如,在测试/调试第三方API时)。 我知道Groovy对此有一些很好的抽象(例如,在groovy地图中获取键),但我只能使用POJ。当然,一定有一种更优雅、更少冗长的方式来做到这一点,Java我的意思是?
在配置文件中,我有一个要分配URL的键。问题是YAML将:和字符解释为创建映射或列表,因此它的行有问题 (都是因为http后面的冒号和中间的连字符) 是否有明确的方法可以转义“:”和“-”?或者把整件事都放在单引号里,就这样结束了,这样行吗?
我正在尝试将yml文件映射到Spring boot应用程序中具有字符串键和PromotionPolicy值的HashMap,并使用默认的Spring boot实现来解析这些值,但当我尝试从映射中读取值时,PromotionPolicy对象只包含所有实例的默认值[0,false,false]。 我的yml是: 我拥有的模型是: 组件java类如下: 尝试在此处显示值: 我的输出如下: 而我希望结果包
我有这样的价值观application.yaml 在服务中,我尝试注入它: 但我有个例外: 原因:java.lang.IllegalArgumentException:无法解析占位符“导入收费字段”的值“${导入收费字段}” 我尝试以下方法: 和 和 而且它不工作