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