Tavaszi indítás webszerver nélkül

1. Bemutatkozás

A Spring Boot nagyszerű keretrendszer új Java alkalmazások gyors létrehozásához különböző felhasználási esetekhez. Az egyik legnépszerűbb felhasználás webszerverként, a sok támogatott beágyazott szervlet tároló és sablonmotor egyikének felhasználásával.

Azonban, A Spring Boot számos olyan felhasználással rendelkezik, amelyek nem igényelnek webszervert: konzolalkalmazások, munkaütemezés, kötegelt vagy adatfolyam-feldolgozás, kiszolgáló nélküli alkalmazások és még sok más.

Ebben az oktatóanyagban a Spring Boot webkiszolgáló nélküli használatának különböző módjait vizsgáljuk meg.

2. A függőségek használata

A Spring Boot alkalmazás legegyszerűbb módja a beágyazott webszerver elindítása nem tartalmazza a webkiszolgáló indítóját a függőségeink között.

Ez azt jelenti, hogy a tavasz-boot-starter-web függőség a Maven POM vagy a Gradle build fájlban. Ehelyett az alaposabbat szeretnénk használni rugós-bakancs-indító függőség a helyén.

Tartsd észben lehetséges, hogy a Tomcat-függőségek tranzitív függőségként szerepelnek alkalmazásunkban. Ebben az esetben előfordulhat, hogy ki kell zárnunk a Tomcat könyvtárat attól a függőségtől, amelybe beletartozik.

3. A tavaszi alkalmazás módosítása

A beágyazott webszerver kikapcsolásának másik módja a Spring Boot programban a kód használata. Használhatjuk akár a SpringApplicationBuilder:

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

Vagy használhatjuk a SpringApplication:

SpringApplication alkalmazás = új SpringApplication (MainApplication.class); application.setWebApplicationType (WebApplicationType.NONE); application.run (args);

Bármelyik esetben, azzal az előnnyel járunk, hogy a szervlet és a tároló API-kat elérhetővé tesszük az osztályúton. Ez azt jelenti, hogy továbbra is használhatjuk a webkiszolgáló könyvtárakat a webkiszolgáló elindítása nélkül. Ez hasznos lehet például, ha tesztek írására akarjuk használni őket, vagy az API-kat a saját kódunkban használjuk.

4. Az alkalmazás tulajdonságainak használata

A kód használata a webszerver letiltásához statikus lehetőség - ez hatással lesz alkalmazásunkra, függetlenül attól, hogy hová telepítjük. De mi van akkor, ha a webszervert meghatározott körülmények között akarjuk létrehozni?

Ebben az esetben használhatjuk a Spring alkalmazás tulajdonságait:

spring.main.web-application-type = nincs

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

tavasz: fő: webalkalmazás-típus: nincs

Ennek a megközelítésnek az az előnye, hogy feltételesen engedélyezhetjük a webszervert. A Spring profilok vagy feltételek használatával szabályozhatjuk a webkiszolgáló viselkedését a különböző telepítéseknél.

Például a webkiszolgálót csak fejlesztés közben futtathatnánk, hogy csak metrikákat vagy más Spring végpontokat tegyünk közzé, miközben biztonsági okokból letiltva tartjuk a gyártásban.

Ne feledje, hogy néhány a Spring Boot korábbi verziói a logikai nevű ingatlan web-környezet a webkiszolgáló engedélyezéséhez és letiltásához. A Spring Boot mind a hagyományos, mind a reaktív konténerek elfogadásával az ingatlant átnevezték, és most enumot használ.

5. Következtetés

Számos oka lehet a Spring Boot alkalmazások webkiszolgáló nélküli létrehozásának. Ebben az oktatóanyagban ennek többféle módját láthattuk. Mindegyiknek megvannak a maga előnyei és hátrányai, ezért azt a megközelítést kell választanunk, amely leginkább megfelel az igényeinknek.