English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Das Spring Boot-Framework bietet den Standard-eingebetteten Server (Tomcat) für die Ausführung von Spring Boot-Anwendungen. Es läuft auf dem Port 8080 laufen. Der Port kann in Spring Boot geändert werden.
Wir können den Port in Spring Boot ändern. Durch die Verwendung der folgenden Schnittstellen und Eigenschaftsdateien:
verwenden application.properties Datei verwenden application.yml Datei verwenden EmbeddedServletContainerCustomizer Schnittstelle verwenden WebServerFactoryCustomizer Oberfläche verwendenBefehlszeilenparameter
Wenn Sie den Standardport ändern möchten, wird empfohlen, die application.properties Datei zu verwenden. Da dies eine einfache und schnelle Methode ist, um Standardwerte zu überschreiben. Wir verwenden server.port Eigenschaft die Standardeigenschaft überschreiben möchten.
Zum Beispiel, wenn Sie den Standardport8080 ändern in8082Bitte geben Sie dieses Attribut in der application.properties Datei an.
application.properties
server.port=8082
Wir können auch den port-Attribut auf 0 setzen. Es wird den zufälligen Port der Anwendung scannen. Jedes Mal, wenn wir die Anwendung neu starten, verwendet es einen neuen Port.
application.properties
server.port=0
ähnlich können wir yml Datei, um den Standardport zu ändern. Verwenden Sie application.properties oder application.yml Datei verwenden, funktionieren beide Dateien auf die gleiche Weise.
application.yml
server: port:8082
Wenn Sie Spring Boot 1.x Version, die eine Schnittstelle bereitstellen wird EmbeddedServletContainerCustomizer den Standardport ändern.
EmbeddedServletContainerCustomizer Interface
Durch die Verwendung von EmbeddedServletContainerCustomizer können wir den eingebetteten Servlet-Container, der automatisch konfiguriert wird, anpassen. Bevor der Container selbst gestartet wird, erhalten alle solchen Typen von Bean eine Callback durch die Containerfabrik. Daher können wir Port, Adresseand Gleiche Fehlerseiten. Es befindet sich org.springframework.boot.context.embedded im Paket definiert.
Das Interface enthält eine Methode namens customize()Methode, die uns ermöglicht, anzupassen und zu spezifizieren ConfigurableEmbeddedServletContainer . Es löst aus, dass wir den benannten Containerder Parameter.
void customize(ConfigurableEmbeddedServletContainer container)
ConfigurableEmbeddedServletContainer Interface
Das ist ein Abbild EmbeddedServletContainerFactory Interface (zur Erstellung im Interface EmbeddedServletContainers Factory) geänderte Schnittstelle. . Es befindet sich org.springframework.boot.context.embedded im Paket definiert. Es enthält eine Methode zum Ändern des Ports, die setPort()-Methode.
setPort()-Methode
setPort()-Methode konfiguriert den Port, auf dem der eingebettete Servlet-Container hört. Wenn kein Port angegeben ist, verwendet er den Standardport 8080 Port -1 Port-1bedeutet, dass es keinen Port überwacht, sondern den Web-Anwendungskontext startet. Diese Methode parst den als int angegebenen Parameter Port (den zu setzenden por t).
void setPort(int port)
Im folgenden Beispiel erstellen wir eine mit dem Namen ServerCustomizer die Klasse, und hat die EmbeddedServletContainerCustomizer-Schnittstelle implementiert. Wir haben die customize()-Methode überschrieben und die Portsetzung aufgerufen 8097 die setPort()-Methode.
ServerCustomizer.java
@Component public class ServerCustomizer implements EmbeddedServletContainerCustomizer { @Override public void customize(ConfigurableEmbeddedServletContainer container) { container.setPort(8097); } }
Spring Boot 2.x-Version bietet WebServerFactoryCustomizer Interface, um den Standardport zu ändern. Es ist im Paket definiert im Paket definiert. Es parst den als Webserver-Fabrik-Typ angegebenen Parameter T .
public interface WebServerFactoryCustomizer<T extends WebServerFactory<
Das Interface enthält eine Methode namens customize()Methode. Sie ermöglicht es uns, die Webserver-Fabrik zu customsizen. Sie parst den als factory Parameter. Bevor der Container selbst gestartet wird, werden alle dieser Typen von Beans durch die Server-Fabrik zurückgerufen. Daher können wir Port, Adresseand Fehlerseiten.
void customize(T factory)
WebServerFactory-Interface
Das ist das Markenschnittstellen-Interface der Fabrik. Es ist im im Paket definiert. Es erstellt eine WebServer .
ConfigurableWebServerFactory
Das ist die Schnittstelle zur Konfiguration der Webserver-Fabrik. Sie ist im Paket im Paket WebServerFactory ErrorPageRegistory and Methode. Sie enthält eine Methode, um den Port zu ändern, namens setPort() setPort()Methode zu konfigurieren. Wenn wir den Port nicht angeben, verwendet er den Standardport
setPort()
um die automatische Startfunktion des eingebetteten Servers zu deaktivieren, verwenden Sie den Port 8080 Port -1 Port-1bedeutet, dass es keinen Port überwacht, sondern den Web-Anwendungskontext startet. Diese Methode parst den als int angegebenen Parameter Port (den zu setzenden port )。
void setPort(int port)
Im folgenden Beispiel erstellen wir eine mit dem Namen ServerCustomizer dieser Klasse, die das Interface WebServerFactoryCustomizer implementiert. Wir haben die Methode customize() überschrieben und die Methode setPort() aufgerufen, um den Port zu setzen 9001 .
ServerCustomizer.java
@Component public class ServerCustomizer implements WebServerFactoryCustomizer< ConfigurableWebServerFactory < { @Override public void customize(ConfigurableWebServerFactory factory) { factory.setPort(9001); } }
We can also change the port in Spring Boot by using command-line arguments. We must follow the following steps:
Open any Spring Boot application. clickRunmenu, then selectRun Configuration,or right-click on the application file-
<Run Mode-<
Run Configuration. The "Run Configuration" window will be displayed on the screen.
Run Configuration Windowthat appears on the screen.
Select the application file in which you want to change the port. In our example, we want to change SpringBootHelloWorldExampleApplication the port, so we selected it. clickparameterstab.
in VM parametersfield inwrite -Dserver.port = 9001 . You can specify your own port instead of9001.
Now, click onApplicationandRunbutton.
After clicking the "Run" button, the application starts running. We can see the console to check which port the server is running on, as shown below.
Open the browser and call the URL http://localhost: 9001. It runs on port 9001 Run the application here.