Kako promijeniti zadani port u proljetnom podizanju sustava

1. Uvod

Spring Boot pruža razumne zadane vrijednosti za mnoga svojstva konfiguracije. Ipak, ponekad ih moramo prilagoditi našim specifičnim vrijednostima.

Uobičajeni slučaj je promjena zadanog porta za ugrađeni poslužitelj.

U ovom ćemo brzom vodiču pokriti nekoliko načina kako to postići.

2. Korištenje datoteka svojstava

Najbrži i najlakši način prilagodbe Spring Boota je nadjačavanjem vrijednosti zadanih svojstava.

Za poslužiteljski port svojstvo koje želimo promijeniti je poslužitelj.port.

Prema zadanim postavkama, ugrađeni poslužitelj pokreće se na priključku 8080. Pogledajmo kako možemo pružiti drugačiju vrijednost u primjena.svojstva datoteka:

poslužitelj.port = 8081

Sada će se poslužitelj pokrenuti na priključku 8081.

Slično tome, isto možemo učiniti ako koristimo primjena.iml datoteka:

poslužitelj: port: 8081

Obje datoteke automatski se učitavaju pomoću Spring Boot-a ako se stave u src / glavni / resursi direktorij aplikacije Maven.

2.1. Luke specifične za okoliš

Ako imamo aplikaciju koja je postavljena u različitim okruženjima, možda bismo željeli da se izvodi na različitim priključcima na svakom sustavu.

To možemo lako postići kombiniranjem pristupa datotekama svojstava s Spring profilima. Točnije, možemo stvoriti datoteku svojstava za svako okruženje.

Na primjer, imat ćemo svojstva- aplikacija.vlasnosti datoteka sa sadržajem:

poslužitelj.port = 8081

Zatim ćemo dodati još jedan svojstva-qa.svojstva datoteka s drugim ulazom:

poslužitelj.port = 8082

Konfiguracija datoteka svojstava trebala bi biti dovoljna za većinu slučajeva.

Međutim, postoje i druge mogućnosti za ovaj cilj, pa istražimo ih također.

3. Programska konfiguracija

Port možemo konfigurirati programski postavljanjem određenog svojstva prilikom pokretanja aplikacije ili prilagođavanjem konfiguracije ugrađenog poslužitelja.

Prvo, pogledajmo kako postaviti svojstvo u glavnom @SpringBootApplication razred:

@SpringBootApplication javna klasa CustomApplication {public static void main (String [] args) {SpringApplication app = new SpringApplication (CustomApplication.class); app.setDefaultProperties (Zbirke .singletonMap ("server.port", "8083")); app.run (args); }}

Dalje, da bismo prilagodili konfiguraciju poslužitelja, moramo implementirati WebServerFactoryCustomizer sučelje:

@Component javna klasa ServerPortCustomizer implementira WebServerFactoryCustomizer {@Override public void customize (ConfigurableWebServerFactory factory) {factory.setPort (8086); }}

Imajte na umu da se ovo odnosi na verziju Spring Boot 2.x.

Za Spring Boot 1.x možemo slično implementirati EmbeddedServletContainerCustomizer sučelje.

4. Korištenje argumenata naredbenog retka

Kada pakiramo i pokrećemo našu aplikaciju kao staklenku, možemo postaviti poslužitelj.port rasprava s Java naredba:

java -jar spring-5.jar --server.port = 8083

Ili upotrebom ekvivalentne sintakse:

java -jar -Dserver.port = 8083 proljeće-5.jar

5. Redoslijed ocjenjivanja

Kao posljednju napomenu, pogledajmo redoslijed kojim ove pristupe procjenjuje Spring Boot.

U osnovi, prioritet konfiguracija je:

  • konfiguracija ugrađenog poslužitelja
  • argumenti naredbenog retka
  • datoteke svojstava
  • glavni @SpringBootApplication konfiguracija

6. Zaključak

U ovom smo brzom vodiču vidjeli kako konfigurirati poslužiteljski port u aplikaciji Spring Boot.

Izvorni kod za primjere dostupan je na GitHubu.