gpt4 book ai didi

java - 如果属性是 Integer,Spring @Value 总是给出错误

转载 作者:行者123 更新时间:2023-12-02 18:14:09 27 4
gpt4 key购买 nike

我使用的是 sprin 版本 4.3.8.RELEASE。我还使用 @Value 从属性文件注入(inject)值,如果属性是字符串,没有问题,但如果属性是 Integer 那是一个问题(我知道有有很多关于此的问题我尝试了所有答案,但问题仍然存在)

该属性是

CONNECTION.TIME.OUT=100000

第一个解决方案

@Value("${CONNECTION.TIME.OUT}")
protected Integer connectionTimeOut;

异常

Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "${CONNECTION.TIME.OUT}"

第二种解决方案

@Value("#{new Integer('${CONNECTION.TIME.OUT}')}")
protected Integer connectionTimeOut;

异常

EL1003E: A problem occurred whilst attempting to construct an object of type 'Integer' using arguments '(java.lang.String)'

第三种解决方案

@Value("#{new Integer.parseInteger('${CONNECTION.TIME.OUT}')}")
protected Integer connectionTimeOut;

异常

EL1003E: A problem occurred whilst attempting to construct an object of type 'Integer' using arguments '(java.lang.String)'

任何想法为什么会这样

最佳答案

为了避免由于属性不可用而发生异常的情况,请在标签中添加默认值。如果属性不可用,那么它将填充默认值

@Value("${CONNECTION.TIME.OUT:10}")

关于java - 如果属性是 Integer,Spring @Value 总是给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49793547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com