Как получить IP-адрес сервера в среде Spring Boot?

#spring-boot

#spring-boot

Вопрос:

Я использую среду Spring Boot для получения порта сервера следующим образом

 @Autowired
Environment environment; 

environment.getProperty("local.server.port") 
  

Это работает

Однако я не могу понять, как получить ip

Я пробовал эти

 environment.getProperty("local.server.address") 
environment.getProperty("local.server.ip") 
environment.getProperty("local.server.host")  
// and many other combinations but can't make it to work 
  

Каково имя свойства для IP-адреса?

Ответ №1:

Для порта, который вы хотите:

 environment.getProperty("server.port");
  

И для IP-адреса, который сервер прослушивает, вы хотите:

 environment.getProperty("server.address");
  

Кроме того, вы можете использовать @Value для ввода его непосредственно в строковое поле, не используя Environment вот так:

 @Value("${server.address}")
private String serverAddress;
  

Комментарии:

1. Спасибо, но это выдает меня null . Почему? Это работает, local.server.port но это дает null local.server.address , а это дает null server.address

2. Я думаю, что если вы не задаете его явно в конфигурации, он будет равен null. Я говорю это, потому что в документах нет значения по умолчанию, какой IP-адрес вы ищете? IP хоста, на котором запущено приложение?