Spring @Value以默认值转义冒号(:)

mjj*_*409 36 spring spring-annotations spring-properties

我有以下使用@Value注释的属性.我有一个使用默认分隔符':'定义的默认值

@Value("${prop.url:http://myurl.com}")
Run Code Online (Sandbox Code Playgroud)

有没有办法逃避':' http://myurl.com或我必须在我的配置中定义一个不同的分隔符值.

Chr*_*son 51

更新: 对于4.2及更高版本的弹簧,不需要单引号.Spring会将第一个冒号视为特殊冒号,并将所有其余冒号用作单个字符串值.

对于4.2和更高的弹簧,

@Value("${prop.url:http://myurl.com}")
Run Code Online (Sandbox Code Playgroud)

对于以前的版本,我相信单引号可以解决问题:

@Value("${prop.url:'http://myurl.com'}")
Run Code Online (Sandbox Code Playgroud)

  • 对于我来说,在Spring 4.2中导致:`'http:// myurl.com'`(单引号的一部分).只需删除单引号就可以修复它.如果我猜,它会在第一个冒号上分裂,第一个部分是变量; 余数是价值. (13认同)