Spring @Value 转义冒号(:) in default value

标签 spring spring-annotations spring-properties

我有以下用@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 @Value 转义冒号(:) in default value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31711308/

相关文章:

java - SPRING BOOT注释: are they required

java - 从 Spring 属性传递 Apache Camel 端点 Uri

java - 数据库的自动更新会在错误的一侧创建单向连接

spring - 什么时候检查证书链?相互认证

java - @Profile 在没有 Spring Boot 的情况下不起作用(-Dspring.profiles.active with maven)

java - 更改@ConfigurationProperties 中的分隔符以读取列表属性

java - 如何将环境变量中的 spring 属性设置为空值

Java Web 应用程序 - 属性文件噩梦

java - Spring 注解延迟加载

java - 如何检查@RequestMapping参数中的请求参数不是空字符串?