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

更改SpringBoot端口

Outils en ligne 8080 Le cadre Spring Boot fournit un serveur intégré par défaut (Tomcat) pour exécuter les applications Spring Boot. Il fonctionne sur le port

s'exécute. Vous pouvez modifier le port dans Spring Boot.

l'utilisation application.properties Nous pouvons modifier le port dans Spring Boot. En utilisant les interfaces et les fichiers de propriétés suivants: l'utilisation application.yml Nous pouvons modifier le port dans Spring Boot. En utilisant les interfaces et les fichiers de propriétés suivants: l'utilisation EmbeddedServletContainerCustomizer fichier l'utilisation WebServerFactoryCustomizer l'interface l'utilisationles paramètres en ligne de commande

l'utilisation du fichier application.properties

Si vous souhaitez modifier le port par défaut, il est recommandé d'utiliser le fichier application.properties. Car c'est une méthode rapide et simple pour couvrir les valeurs par défaut. Nous utilisons server.port Propriété pour couvrir les propriétés par défaut.

Par exemple, si vous souhaitez modifier le port par défaut808Changer 0 en8082Veuillez spécifier cette propriété dans le fichier application.properties.

application.properties

server.port=8082

Nous pouvons également configurer l'attribut port à 0. Il scannera un port aléatoire de l'application. Chaque fois que nous redémarrons l'application, elle utilisera un nouveau port.

application.properties

server.port=0

l'utilisation du fichier application.yml

De même, nous pouvons utiliser yml fichier pour modifier le port par défaut. Utilisez application.properties ou application.yml les deux fichiers fonctionnent de la même manière.

application.yml

server:
      port:8082

l'interface EmbeddedServletContainerCustomizer

Si vous utilisez Spring Boot 1.x version qui fournira une interface EmbeddedServletContainerCustomizer changement du port par défaut.

l'interface EmbeddedServletContainerCustomizer

En utilisant EmbeddedServletContainerCustomizer, nous pouvons personnaliser le conteneur servlet embarqué automatiquement configuré. Avant que le conteneur lui-même ne démarre, tous les types de Beans de ce type sont obtenus par l'intermédiaire de l'usine de conteneur. Par conséquent, nous pouvons configurer port, adressepages d'erreur uniformes. Il est org.springframework.boot.context.embedded dans le paquet défini.

Cette interface contient une méthode nommée customize()la méthode. Il nous permet de personnaliser et de spécifier ConfigurableEmbeddedServletContainer . Il analyse le nom le conteneurdes paramètres.

Syntaxe

void customize(ConfigurableEmbeddedServletContainer container)

l'interface ConfigurableEmbeddedServletContainer

C'est un reflet EmbeddedServletContainerFactory l'interface (utilisé pour créer l'interface de fabrication EmbeddedServletContainers et l'interface modifiée pour l'utilisation . Il est org.springframework.boot.context.embedded dans le paquet défini. Il contient une méthode pour changer le port, appelée la méthode setPort().

la méthode setPort()

la méthode setPort() configure le port que le conteneur servlet embarqué doit écouter. Si le port n'est pas spécifié, il utilisera le port par défaut 8080 Port. Si vous souhaitez désactiver la fonction d'auto-démarrage du serveur intégré, utilisez le port -1 Port-1représente qu'il n'écoute aucun port et démarre le contexte de l'application Web. Cette méthode analyse le paramètre de type int port (le port à configurer) por t).

Syntaxe

void setPort(int port)

Dans l'exemple suivant, nous avons créé une instance nommée ServerCustomizer de cette classe, et a implémenté l'interface EmbeddedServletContainerCustomizer. Nous avons redéfini la méthode customize() et appelé la méthode de configuration du port 8097 la méthode setPort().

ServerCustomizer.java

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

en utilisant l'interface WebServerFactoryCustomizer

Spring Boot 2la version .x fournit WebServerFactoryCustomizer l'interface pour modifier le port par défaut. Il est défini dans le paquet org.springframework.boot.web.server défini. Il analyse le paramètre de type WebServerFactory T

Syntaxe

public interface WebServerFactoryCustomizer<T extends WebServerFactory<

Cette interface contient une méthode nommée customize()méthode. Elle nous permet de personnaliser l'usine de serveur Web. Elle analyse le nom de l'usine que nous souhaitons personnaliser factory paramètres. Avant de démarrer le conteneur lui-même, tous les beans de ce type passent par le rappel de l'usine de serveur. Par conséquent, nous pouvons configurer port, adressepages d'erreur

Syntaxe

void customize(T factory)

l'interface WebServerFactory

C'est l'interface marquage de l'usine. Il est défini dans org.springframework.boot.web.server paquet. Il crée un WebServer

ConfigurableWebServerFactory

C'est l'interface de configuration de l'usine de serveur Web. Il est défini dans le paquet org.springframework.boot.web.server défini dans le paquet. Il étend WebServerFactory ErrorPageRegistory . Elle contient une méthode pour modifier le port, appelée setPort()méthode.

setPort()

setPort() pour configurer le port à écouter du conteneur servlet intégré. Lorsque nous ne spécifions pas de port, il utilise le port par défaut 8080 Port. Si vous souhaitez désactiver la fonction d'auto-démarrage du serveur intégré, utilisez le port -1 Port-1représente qu'il n'écoute aucun port et démarre le contexte de l'application Web. Cette méthode analyse le paramètre de type int port (le port à configurer) port )。

Syntaxe

void setPort(int port)
Attention: L'interface de cette méthode setPort() est ConfigurableWebServerFactory.

Dans l'exemple suivant, nous avons créé une instance nommée ServerCustomizer Cette classe, qui implémente l'interface WebServerFactoryCustomizer, a redéfini la méthode customize() et appelé la méthode setPort() pour configurer le port. 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 在上运行应用程序。