Proljetno pokretanje bez web poslužitelja

1. Uvod

Spring Boot je izvrstan okvir za brzo stvaranje novih Java aplikacija za razne slučajeve upotrebe. Jedna od najpopularnijih namjena je kao web poslužitelj, koristeći jedan od mnogih podržanih ugrađenih spremnika servleta i mehanizama predložaka.

Međutim, Spring Boot ima brojne svrhe koje ne zahtijevaju web poslužitelj: aplikacije konzole, raspoređivanje poslova, batch ili stream obrada, aplikacije bez poslužitelja i još mnogo toga.

U ovom uputstvu razmotrit ćemo nekoliko različitih načina korištenja Spring Boota bez web poslužitelja.

2. Korištenje ovisnosti

Najlakši način da spriječite aplikaciju Spring Boot da pokrene ugrađeni web poslužitelj je ne uključuje starter web poslužitelja u naše ovisnosti.

To znači ne uključujući proljeće-boot-starter-web ovisnost u Maven POM ili Gradle datoteci gradnje. Umjesto toga, htjeli bismo upotrijebiti ono osnovno opruga-čizma-starter ovisnost na svom mjestu.

Imati na umu moguće je da Tomcat ovisnosti budu uključene u našu aplikaciju kao prijelazne ovisnosti. U ovom slučaju, možda ćemo trebati izuzeti Tomcat knjižnicu iz bilo koje ovisnosti koja je uključuje.

3. Izmjena proljetne aplikacije

Drugi način za onemogućavanje ugrađenog web poslužitelja u Spring Boot-u je pomoću koda. Možemo koristiti bilo koji SpringApplicationBuilder:

novi SpringApplicationBuilder (MainApplication.class) .web (WebApplicationType.NONE) .run (args);

Ili se možemo poslužiti referencom na SpringApplication:

Aplikacija SpringApplication = nova SpringApplication (MainApplication.class); application.setWebApplicationType (WebApplicationType.NONE); aplikacija.run (args);

U svakom slučaju, imamo prednost što API-je servleta i spremnika držimo dostupnima na putu predavanja. To znači da i dalje možemo koristiti knjižnice web poslužitelja bez pokretanja web poslužitelja. To može biti korisno, na primjer, ako ih želimo koristiti za pisanje testova ili korištenje njihovih API-ja u našem vlastitom kodu.

4. Korištenje svojstava aplikacije

Korištenje koda za onemogućavanje web poslužitelja statična je opcija - to će utjecati na našu aplikaciju bez obzira na to gdje je rasporedimo. Ali što ako želimo stvoriti web poslužitelj u određenim okolnostima?

U ovom slučaju možemo koristiti svojstva aplikacije Spring:

spring.main.web-application-type = nema

Ili pomoću odgovarajućeg YAML-a:

proljeće: glavno: vrsta web-aplikacije: nema

Prednost ovog pristupa je što uvjetno možemo omogućiti web poslužitelj. Korištenjem Spring profila ili uvjetnih uvjeta možemo kontrolirati ponašanje web poslužitelja u različitim implementacijama.

Na primjer, mogli bismo pokrenuti web poslužitelj samo u izlaganju mjernih podataka ili drugih proljetnih krajnjih točaka, a istovremeno ga iz sigurnosnih razloga onemogućiti u proizvodnji.

Imajte na umu da neki Ranije verzije Spring Boota koristile su boolean imanje imenovano web-okruženje za omogućavanje i onemogućavanje web poslužitelja. Usvajanjem tradicionalnih i reaktivnih spremnika u Spring Boot, svojstvo je preimenovano i sada koristi enum.

5. Zaključak

Mnogo je razloga za stvaranje aplikacija Spring Boot bez web poslužitelja. U ovom uputstvu vidjeli smo više načina kako to učiniti. Svaka ima svoje prednosti i nedostatke, pa bismo trebali odabrati pristup koji najbolje odgovara našim potrebama.


$config[zx-auto] not found$config[zx-overlay] not found