I want to use the @Value annotation to inject a Double property such as:
@Service
public class MyService {
@Value("${item.priceFactor}")
private Double priceFactor = 0.1;
// ...
and using Spring property placeholder (Properties files):
item.priceFactor=0.1
I get Exception:
org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Double'; nested exception is java.lang.NumberFormatException: For input string: "${item.priceFactor}"
Is there a way to use a Double value coming from a properties file?
Try changing the following line
@Value("${item.priceFactor}")
to
@Value("#{new Double('${item.priceFactor}')}")