Spring 默认值中的@Value 转义冒号(:)
Spring @Value escape colon(:) in default value
我有以下 属性 用 @Value 注释。我有一个使用默认分隔符 ':"
定义的默认值
@Value("${prop.url:http://myurl.com}")
有没有办法在 http://myurl.com
中转义“:”,或者我是否必须在我的配置中定义不同的分隔符值。
更新:
对于 spring 4.2 及更高版本,不需要单引号。 Spring 会将第一个冒号视为特殊冒号,并将所有其余冒号用作单个字符串值。
对于 spring 4.2 及更高版本,
@Value("${prop.url:http://myurl.com}")
对于以前的版本,我相信单引号可以解决问题:
@Value("${prop.url:'http://myurl.com'}")
在 Spring 版本 3.2 上,默认值不带引号。
如果您需要传递包含默认值冒号的字符串列表,请执行以下操作:
@Value("${parameterName:}#{T(java.util.Arrays).asList(\"abc:1\",\"def:2\")}")
private List<String> parameters;
我有以下 属性 用 @Value 注释。我有一个使用默认分隔符 ':"
定义的默认值@Value("${prop.url:http://myurl.com}")
有没有办法在 http://myurl.com
中转义“:”,或者我是否必须在我的配置中定义不同的分隔符值。
更新: 对于 spring 4.2 及更高版本,不需要单引号。 Spring 会将第一个冒号视为特殊冒号,并将所有其余冒号用作单个字符串值。
对于 spring 4.2 及更高版本,
@Value("${prop.url:http://myurl.com}")
对于以前的版本,我相信单引号可以解决问题:
@Value("${prop.url:'http://myurl.com'}")
在 Spring 版本 3.2 上,默认值不带引号。
如果您需要传递包含默认值冒号的字符串列表,请执行以下操作:
@Value("${parameterName:}#{T(java.util.Arrays).asList(\"abc:1\",\"def:2\")}")
private List<String> parameters;