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.