Az alapértelmezett port megváltoztatása a tavaszi indításkor

1. Bemutatkozás

A Spring Boot ésszerű alapértelmezéseket kínál számos konfigurációs tulajdonsághoz. Ennek ellenére néha ezeket az esetspecifikus értékeinkkel kell testre szabnunk.

Gyakori eset a beágyazott szerver alapértelmezett portjának módosítása.

Ebben a gyors bemutatóban többféle módon foglalkozunk ennek megvalósításával.

2. Tulajdonságfájlok használata

A Spring Boot testreszabásának leggyorsabb és legegyszerűbb módja az alapértelmezett tulajdonságok értékeinek felülírása.

A szerver port esetében a tulajdonság, amelyet módosítani szeretnénk szerver port.

Alapértelmezés szerint a beágyazott szerver a 8080-as portról indul. Nézzük meg, hogyan adhatunk meg egy másik értéket egy alkalmazás.tulajdonságok fájl:

szerver.port = 8081

Most a szerver a 8081-es porton indul.

Hasonlóképpen, ugyanezt megtehetjük, ha egy alkalmazás.yml fájl:

szerver: port: 8081

A Spring Boot automatikusan feltölti mindkét fájlt, ha a src / main / resources egy Maven alkalmazás könyvtárát.

2.1. Környezet-specifikus portok

Ha van olyan alkalmazásunk, amely különböző környezetekben van telepítve, akkor érdemes lehet, hogy minden rendszer különböző portjain fusson.

Ezt könnyen elérhetjük, ha a tulajdonságfájlok megközelítését a Spring profilokkal kombináljuk. Pontosabban, minden környezethez létrehozhatunk egy tulajdonságfájlt.

Például lesz egy application-dev.properties fájl a tartalommal:

szerver.port = 8081

Majd hozzáadunk még egyet alkalmazás-qa.tulajdonságok fájl egy másik porttal:

szerver.port = 8082

A tulajdonságfájlok konfigurációjának a legtöbb esetben elegendőnek kell lennie.

Ennek a célnak azonban vannak más lehetőségei, ezért vizsgáljuk meg őket is.

3. Programozási konfiguráció

Programozhatóan konfigurálhatjuk a portot úgy, hogy beállítjuk a konkrét tulajdonságot az alkalmazás indításakor, vagy a beágyazott szerver konfigurációjának testreszabásával.

Először nézzük meg, hogyan állítsuk be a tulajdonságot főbe @SpringBootApplication osztály:

@SpringBootApplication public class CustomApplication {public static void main (String [] args) {SpringApplication app = new SpringApplication (CustomApplication.class); app.setDefaultProperties (Gyűjtemények .singletonMap ("server.port", "8083")); app.run (args); }}

Ezután a kiszolgáló konfigurációjának testreszabásához végre kell hajtanunk a WebServerFactoryCustomizer felület:

@Component public class ServerPortCustomizer megvalósítja a WebServerFactoryCustomizer {@Override public void customize (ConfigurableWebServerFactory factory) {factory.setPort (8086); }}

Vegye figyelembe, hogy ez a Spring Boot 2.x verzióra vonatkozik.

A Spring Boot 1.x esetén hasonlóan tudjuk megvalósítani a EmbeddedServletContainerCustomizer felület.

4. A parancssori argumentumok használata

Amikor csomagoljuk és futtatjuk alkalmazásunkat üvegként, beállíthatjuk a szerver port érvelés a Jáva parancs:

java -jar tavasz-5.jar --szerver.port = 8083

Vagy az egyenértékű szintaxis használatával:

java -jar -Dserver.port = 8083 tavasz-5.jar

5. Az értékelés sorrendje

Utolsó megjegyzésként nézzük meg, milyen sorrendben értékeli ezeket a megközelítéseket a Spring Boot.

Alapvetően a konfigurációk prioritása:

  • beágyazott szerver konfigurációja
  • parancssori argumentumok
  • tulajdonságfájlok
  • fő- @SpringBootApplication konfiguráció

6. Következtetés

Ebben a gyors bemutatóban láttuk, hogyan kell konfigurálni a kiszolgáló portját egy Spring Boot alkalmazásban.

A példák forráskódja elérhető a GitHub oldalon.