получить значение типа int с помощью @Value - PullRequest
0 голосов
/ 28 августа 2018

У меня есть файл application.properties, и я успешно получаю значения String из него с помощью @Value. У меня проблемы с получением int от него.

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

У меня нормальные имена классов, но я использую «секрет ***» только для примера

1 Ответ

0 голосов
/ 28 августа 2018

Просто:

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

должно работать. Вы не должны разбирать себя, это будут заботиться о вас высшие силы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...