用@Value获得一个整数值

时间:2018-08-28 18:36:21

标签: java spring annotations

我有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 ***”为例

1 个答案:

答案 0 :(得分:4)

简单地:

@Value("${redisPort}")
private Integer redisPort;

应该工作。您不应该自己进行任何解析,上级部队会为您照顾。