代码中的定义是这样的:
@Value("${deviceNum:1}")
private int accessTokenNum;
配置文件中为:
deviceNum=2
此时测试一切正常。
但如果注掉的话
#deviceNum=2
本来预计会用到默认值1,但实际结果是:
java.lang.IllegalArgumentException:
Could not resolve placeholder 'deviceNum' in string value "${deviceNum}"
配置的默认值没有起作用。
经过我的测试,没有复现你遇到的问题,建议检查一下spring版本;http://www.mkyong.com/spring3/spring-value-default-value/
应该是properties 配置文件没有被spring正确扫描和解析,建议检查配置properties文件的引入配置代码。
检查下声明@Value的类是否在spring定义扫描包下