我有application.properties文件,并使用@Value从文件中成功获取了字符串值。我在从中获取整数时遇到问题。
jedisHostName=127.0.0.1
redisPort=6379
在我的配置类中,我有
@Value("${jedisHostName}")
private String hostName;
它工作正常,但是当我尝试
@Value("#{new Integer.parseInt('${redisPort}')}")
private Integer redisPort;
我知道
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'secret***': Unsatisfied dependency expressed through field 'redisPort';
我也只尝试
@Value("#{new Integer('${redisPort}')}")
但是我得到同样的例外。我什至试图做一个
@Value("${redisPort}")
private String redisPort;
int jedisPort = Integer.parseInt(redisPort.trim());
但是我得到
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'secret***' defined in file [secret***.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate **** Constructor threw exception; nested exception is java.lang.NullPointerException
我有普通的班级名称,但我仅以“ secret ***”为例
答案 0 :(得分:4)
简单地:
@Value("${redisPort}")
private Integer redisPort;
应该工作。您不应该自己进行任何解析,上级部队会为您照顾。