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

Alterar a Porta do SpringBoot

O framework Spring Boot fornece um servidor embutido padrão (Tomcat) para executar aplicativos Spring Boot. Ele está na porta 8080 em execução. Você pode alterar a porta no Spring Boot.

Podemos alterar a porta no Spring Boot. Usando os seguintes interfaces e arquivos de propriedades:

usando application.properties arquivo usando application.yml arquivo usando EmbeddedServletContainerCustomizer interface usando WebServerFactoryCustomizer interface usandoparâmetros de linha de comando

usando o arquivo application.properties

Se você quiser alterar a porta padrão, é recomendável usar o arquivo application.properties. Porque é uma maneira conveniente e rápida de sobrescrever valores padrão. Usamos server.port para sobrescrever a propriedade padrão.

Por exemplo, se você quiser alterar a porta padrão808de 0 para8082Por favor, especifique essa propriedade no arquivo application.properties.

application.properties

server.port=8082

Também podemos definir a propriedade port como 0. Ele scaneará a porta aleatória do aplicativo. Cada vez que reiniciarmos o aplicativo, ele usará uma nova porta.

application.properties

server.port=0

usando o arquivo application.yml

Da mesma forma, também podemos usar yml arquivo para alterar a porta padrão. Use application.properties ou application.yml os dois arquivos funcionam da mesma maneira.

application.yml

server:
      port:8082

usando a interface EmbeddedServletContainerCustomizer

Se você usar Spring Boot 1.x versão, que fornecerá uma interface EmbeddedServletContainerCustomizer mudar a porta padrão.

interface EmbeddedServletContainerCustomizer

Usando EmbeddedServletContainerCustomizer, podemos personalizar o contêiner servlet embutido configurado automaticamente. Antes de iniciar o contêiner em si, todos esses tipos de Bean serão obtidos por meio da fábrica de contêineres. Portanto, podemos configurar porta, endereçoe páginas de erro uniformes. Ele está org.springframework.boot.context.embedded definido no pacote.

A interface contém um nome customize()método. Ele nos permite personalizar e especificar ConfigurableEmbeddedServletContainer . Ele resolve o nome contêinerdos parâmetros.

Sintaxe

void customize(ConfigurableEmbeddedServletContainer container)

ConfigurableEmbeddedServletContainer interface

Esta é uma reflexão EmbeddedServletContainerFactory para criar na interface de fábrica EmbeddedServletContainers com alterações. A interface . Ele está org.springframework.boot.context.embedded definido no pacote. Ele contém um método para alterar a porta, chamado método setPort().

método setPort()

método setPort() configura o contêiner servlet embutido para ouvir a porta. Se não for especificado, ele usará a porta padrão 8080 Porta -1 Porta-1indica que ele não escutará em nenhuma porta, mas iniciará o contexto da aplicação web. Este método解析类型为int de parâmetro de porta (a ser configurada por t).

Sintaxe

void setPort(int port)

Neste exemplo, criamos um objeto chamado ServerCustomizer da classe, e implementou a interface EmbeddedServletContainerCustomizer. Já reescrevemos o método customize() e chamamos o ajuste de porta 8097 método setPort().

ServerCustomizer.java

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

usando a interface WebServerFactoryCustomizer

Spring Boot 2.x versão oferece WebServerFactoryCustomizer interface para alterar a porta padrão. Ele está no pacote org.springframework.boot.web.server definido. Ele resolve o parâmetro de tipo de fábrica do servidor web T .

Sintaxe

public interface WebServerFactoryCustomizer<T extends WebServerFactory<

A interface contém um nome customize()método. Ele nos permite personalizar a fábrica do servidor web. Ele解析名为 factory dos parâmetros. Antes de iniciar o contêiner em si, todos esses tipos de Bean passarão por callbacks da fábrica do servidor. Portanto, podemos configurar porta, endereçoe página de erro.

Sintaxe

void customize(T factory)

WebServerFactory interface

Esta é a interface de marca da fábrica. Ela está org.springframework.boot.web.server pacote definido. Ele cria um WebServer .

ConfigurableWebServerFactory

Esta é a interface de configuração da fábrica do servidor web. Ela está no pacote org.springframework.boot.web.server definido. Ele estende WebServerFactory e ErrorPageRegistory . Ele contém um método para alterar a porta, chamado setPort()método.

setPort()

Se você deseja desativar a funcionalidade de inicialização automática do servidor embutido, use a porta 8080 Porta -1 Porta-1indica que ele não escutará em nenhuma porta, mas iniciará o contexto da aplicação web. Este método解析类型为int de parâmetro de porta (a ser configurada port )。

Sintaxe

void setPort(int port)
Atenção: A interface deste método setPort() é ConfigurableWebServerFactory.

Neste exemplo, criamos um objeto chamado ServerCustomizer essa classe, que implementa a interface WebServerFactoryCustomizer. Já reescrevemos o método customize() e chamamos o método setPort() para configurar a porta 9001 .

ServerCustomizer.java

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

}

Usar parâmetros de linha de comando

Também podemos alterar a porta no Spring Boot usando parâmetros de linha de comando. Devemos seguir os seguintes passos: na porta, então escolhemos ela.ExecutarAbrir qualquer aplicativo Spring Boot.no menu, então selecioneConfiguração de Execução- ,ou clique com o botão direito no arquivo do aplicativo-<Modo de Execução  <  
   
 Configuração de Execução. A janela "Configuração de Execução" será exibida na tela.Janela de Configuração de Execução  
 
aparecer na tela. Selecione o arquivo do aplicativo no qual você deseja alterar a porta. No nosso exemplo, queremos alterar SpringBootHelloWorldExampleApplication na porta, então escolhemos ela.Clique emParâmetros
etiqueta. naParâmetros da VMescrever no campo -Dserver.port = 9001 . Você pode especificar sua própria porta em vez de9001.
Agora, clique emAplicativoeExecutarbotão
Clique no botão "Executar" e o aplicativo começará a executar. Podemos ver o console para verificar na qual porta o servidor está rodando, conforme mostrado a seguir.
Abra o navegador e chame a URL http://localhost: 9001. Ele está na porta 9001 Execute o aplicativo na.