如何将带有空格的属性绑定到Spring application.properties文件中的Map键?

use*_*188 8 java spring spring-boot spring-properties

给定一个 application.properties 文件:

myProperties.map.key1=value1
myProperties.map.key2=value2
myProperties.map.key with space=value3
Run Code Online (Sandbox Code Playgroud)

和属性类:

@ConfigurationProperties
public class MyProperties {
    private Map<String, String> map;
    // getters and setters
}
Run Code Online (Sandbox Code Playgroud)

我试图逃离类似key\ with\ space或什至的空间,但两者仍然像地图中key\u0020with\u0020space那样结束。keywithspace请指出使用Spring application.properties添加带空格键映射的正确方法,谢谢。

小智 10

碰巧遇到了同样的问题,我发现技巧是使用括号与使用or[]转义空格相结合:\ \u0020

myProperties.map.key1=value1
myProperties.map.key2=value2
myProperties.map.[key\ with\ space]=value3
Run Code Online (Sandbox Code Playgroud)

这样,空格就保留在映射键中。

我无法找到这方面的文档,纯粹是通过反复试验偶然发现的。