How to include _ in a numeric value in properties

2019-07-09 01:56发布

问题:

How can I have _ (underscore) in my numerical property while injecting it with @Value annotation in Spring? If I include _ in my value, Spring throws TypeMismatchException.

.properties file:

min-score=20_000

java class:

@Value("${min-score}")
private int minScore;

回答1:

Use Spring EL in your @Value annotation to replace _ characters:

@Value("#{'${min-score}'.replace('_','')}")
private int minScore;