I have the following property annotated with @Value. I have a default value defined using the default separator of ':"
@Value("${prop.url:http://myurl.com}")
Is there a way to escape the ':' in http://myurl.com
or do I have to define a different separator value in my configuration.
Make a StringWriter, write your properties file into it, go through the buffer line-by-line looking for "\:" , and replacing it by a single ":" .
To set a default value for primitive types such as boolean and int, we use the literal value: @Value("${some. key:true}") private boolean booleanWithDefaultValue; @Value("${some.
Spring @Value annotation is used to assign default values to variables and method arguments. We can read spring environment variables as well as system variables using @Value annotation.
Update: For spring 4.2 and higher, no single quotes are needed. Spring will see the first colon as special, and use all the rest as a single string value.
For spring 4.2 and higher,
@Value("${prop.url:http://myurl.com}")
For the previous versions, I believe single quotes will do the trick:
@Value("${prop.url:'http://myurl.com'}")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With