English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Изменение порта SpringBoot

Фреймворк Spring Boot предоставляетefault嵌入式 сервер (Tomcat) для запуска приложений Spring Boot. Он работает на порту 8080 Запущен. Порт можно изменить в Spring Boot.

Мы можем изменить порт в Spring Boot. Используя следующие интерфейсы и файлы свойств:

Используя файл application.properties Файл Используя файл application.yml Файл Используя EmbeddedServletContainerCustomizer Интерфейс Используя WebServerFactoryCustomizer Интерфейс ИспользуяКомандная строка

Используя файл application.properties

Если вы хотите изменить défaut порт, рекомендуется использовать файл application.properties. Это быстрый и удобный способ переписать défaut значения. Мы используем server.port Атрибуты покрывают défaut атрибуты.

Например, если вы хотите изменить défaut порт 8080 на 8082, установите этот атрибут в файле application.properties.

файл application.properties

server.port=8082

Мы также можем установить атрибут port в 0. Он будет сканировать случайный порт приложения. Каждый раз, когда мы перезапускаем приложение, оно будет использовать новый порт.

файл application.properties

server.port=0

Используя файл application.yml

Аналогично, мы также можем использовать yml Файл для изменения défaut порта. Используйте файл application.properties или файл application.yml Два файла работают одинаково.

файл application.yml

server:
      port:8082

Используя интерфейс EmbeddedServletContainerCustomizer

Если вы используете Spring Boot 1.x Версия, которая предоставит интерфейс EmbeddedServletContainerCustomizer EmbeddedServletContainerCustomizer

изменить défaut порт.

интерфейс EmbeddedServletContainerCustomizer порт, адреси Используя EmbeddedServletContainerCustomizer, мы можем настроить автоматически конфигурируемый嵌入式 servlet контейнер. Перед запуском контейнера этого типа Bean получают обратный вызов от фабрики контейнеров. Таким образом, мы можем установить. Оно находится в org.springframework.boot.context.embedded равномерные страницы ошибок

Этот интерфейс содержит customize()определено в пакете. . Оно позволяет настроить и指定 ConfigurableEmbeddedServletContainer . Оно анализирует метод, который мы хотим настроить, называемыйпараметров. Контейнер

Синтаксис

void customize(ConfigurableEmbeddedServletContainer container)

интерфейс ConfigurableEmbeddedServletContainer

Это отражает EmbeddedServletContainerFactory интерфейс (для создания интерфейсе фабрики EmbeddedServletContainers с измененными интерфейсами). . Оно находится в org.springframework.boot.context.embedded определен в пакете. Он содержит метод для изменения порта, называемый методом setPort().

метод setPort()

метод setPort() настраивает порт, на котором嵌入式 servlet контейнер должен прослушивать. Если порт не указан, он будет использовать défaut порта 8080 Если вы хотите отключить функцию автоматического запуска встроенного сервера, используйте порт -1 。Порт -1 означает, что он не будет прослушивать ни один порт, а вместо этого запустит контекст веб-приложения. Этот метод принимает параметр типа int (порт, который нужно установить) por t).

Синтаксис

void setPort(int port)

В следующем примере мы создали объект,命名为 ServerCustomizer класса, и реализовал интерфейс EmbeddedServletContainerCustomizer. Мы перезаписали метод customize() и вызвали установку порта 8097 метод setPort().

ServerCustomizer.java

@Component
public class ServerCustomizer implements EmbeddedServletContainerCustomizer 
{
    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) 
    {
        container.setPort(8097);
    }
}

используя интерфейс WebServerFactoryCustomizer

Spring Boot 2.x версии предоставляет WebServerFactoryCustomizer интерфейс для изменения стандартного порта. Он определен в пакете org.springframework.boot.web.server определен. Он принимает параметр типа WebServerFactory T

Синтаксис

public interface WebServerFactoryCustomizer<T extends WebServerFactory<

Этот интерфейс содержит customize()метод, который позволяет нам настроить веб-серверный завод. Он принимает параметр типа factory параметры. Перед запуском контейнера самого контейнера все такие типы Bean будут вызываться через серверный завод. Таким образом, мы можем установить порт, адреси страницы ошибок

Синтаксис

void customize(T factory)

Интерфейс WebServerFactory

Это маркерного интерфейса завода. Он определен в org.springframework.boot.web.server пакете. Он создает WebServer

ConfigurableWebServerFactory

Это интерфейс для конфигурации веб-серверного завода. Он определен в пакете org.springframework.boot.web.server определен в пакете WebServerFactory и ErrorPageRegistory Он содержит метод для изменения порта, называемый setPort()метод.

setPort()

Метод setPort() конфигурации должен слушать порт встроенного сервлетного контейнера. Если мы не указываем порт, он будет использовать портом по умолчанию 8080 Если вы хотите отключить функцию автоматического запуска встроенного сервера, используйте порт -1 。Порт -1 означает, что он не будет прослушивать ни один порт, а вместо этого запустит контекст веб-приложения. Этот метод принимает параметр типа int (порт, который нужно установить) port )。

Синтаксис

void setPort(int port)
Внимание: Интерфейс этого метода setPort() - ConfigurableWebServerFactory.

В следующем примере мы создали объект,命名为 ServerCustomizer Этот класс, который реализует интерфейс WebServerFactoryCustomizer, мы переопределили метод customize() и вызвали метод setPort() для настройки порта 9001

ServerCustomizer.java

@Component
public class ServerCustomizer implements WebServerFactoryCustomizer< ConfigurableWebServerFactory < 
{
    @Override
    public void customize(ConfigurableWebServerFactory factory) 
    {
        factory.setPort(9001);
    }
}

Использование параметров командной строки

Мы также можем изменить порт в Spring Boot с помощью командной строки. Мы должны следовать следующим шагам:

Откройте любую Spring Boot приложение. нажмитеЗапускменю и выберитеКонфигурация запускаили щелкните правой кнопкой мыши файл приложения-, <Способ запуска-<  Конфигурация запуска. На экране будет отображаться окно "Конфигурация запуска".  
   
 Окно запуска конфигурациипоявляется на экране.  
 
Выберите файл приложения, в котором вы хотите изменить порт. В нашем примере мы хотим изменить SpringBootHelloWorldExampleApplication на порт, поэтому мы выбрали его. нажмитеПараметрытеге
в VM параметрыв полевведите -Dserver.port = 9001 . Вы можете указать свой порт, а не 9001.
Теперь, отдельно нажмитеПриложениеиЗапусккнопка
Нажмите кнопку "Запуск" после чего приложение начинает работать. Мы можем видеть консоль, чтобы узнать, на каком порту сервер работает, как показано ниже.
Откройте браузер и вызовите URL http://localhost: 9001. Оно работает на порту 9001 Запустите приложение на этом сайте.