1077 Stimmen

Wie konfiguriere ich den Port für eine Spring Boot-Anwendung?

Wie konfiguriere ich den TCP/IP-Port, der von einer Spring Boot-Anwendung gehört wird, so dass er nicht den Standardport 8080 verwendet?

21voto

VSharma Punkte 481

Wenn Sie Gradle als Build-Tool verwenden, können Sie den Server-Port in Ihrer application.yml-Datei wie folgt festlegen:

server:
  port: 8291

Wenn Sie Maven verwenden, kann der Port in Ihrer application.properties-Datei wie folgt festgelegt werden:

server.port: 8291

20voto

Pau Punkte 13014

Um andere Antworten zu erweitern:

Es gibt einen Abschnitt in der Dokumentation zum Testen, der erläutert, wie der Port bei Integrationstests konfiguriert werden kann:


Bei Integrationstests erfolgt die Portkonfiguration mithilfe der Annotation @SpringBootTest und der Werte von webEnvironment.


Zufälliger Port:

@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)

Sie können den Wert mithilfe von @LocalServerPort einfügen, was demselben wie @Value("${local.server.port}") entspricht.

  • Beispiel:

Konfiguration des Tests mit zufälligem Port:

@RunWith(SpringRunner.class
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class ExampleTest {
   ...
   @LocalServerPort //um den Portwert einzufügen
   int port;
}

Definierter Port:

@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT)

Es nimmt den Wert aus server.port, wenn er definiert ist.

  • Wenn es mit @TestPropertySource(properties = "server.port=9192") definiert ist, überschreibt es andere definierte Werte.
  • Wenn nicht, nimmt es den Wert aus src/test/resources/application.properties (falls vorhanden).
  • Und schließlich, wenn es nicht definiert ist, beginnt es mit dem Standardwert 8080.

Beispiel:

Konfiguration des Tests mit definiertem Port:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@TestPropertySource(properties = "server.port=9192")
public class DemoApplicationTests {

    @Test
    public void contextLoads() {
    }

}

19voto

nndru Punkte 1977

Sie können den Port angeben, indem Sie das EmbeddedServletContainerFactory-Bean in Ihrer Konfiguration überschreiben (java-basiert oder xml). Dort können Sie den Port für den verwendeten eingebetteten Servlet-Container festlegen. Bitte sehen Sie sich den Abschnitt "Unterstützung für eingebetteten Servlet-Container" und das Beispiel in Spring Boot - Core an. Hoffentlich hilft das.

19voto

Amit Gujarathi Punkte 1022

In der Datei application.properties im Ressourcenverzeichnis:

server.port=8082

19voto

Praneeth Punkte 529

Es gibt drei Möglichkeiten, dies zu tun, je nachdem, welche Anwendungs-Konfigurationsdatei Sie verwenden

a) Wenn Sie die application.properties Datei verwenden

server.port = 8090

b) Wenn Sie die application.yml Datei verwenden, setzen Sie die Server-Port-Eigenschaft im YAML-Format wie unten angegeben

server:
     port: 8090

c) Sie können die Eigenschaft auch als Systemeigenschaft in der Hauptmethode setzen

System.setProperty("server.port","8090");

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X