Trace Id is missing
Ugrás a tartalomra
A laptopjuk képernyőjén az Office-ban dolgozó személyek

Mi az a Java Spring Boot?

Bevezetés a Spring Boot, a webalkalmazások és mikroszolgáltatások fejlesztésére szolgáló népszerű, Java-alapú eszköz használatába.

Laptopképernyőt néző, egérrel ellátott külső billentyűzetet használó személy

Mi az a Spring Boot?

A Java Spring Boot egy olyan, nyílt forráskódú eszköz, amely megkönnyíti a mikroszolgáltatások és webalkalmazások Java-alapú keretrendszerek használatával való létrehozását. A Boot bármely definíciója szerint a beszélgetésnek a Java nyelvvel kell kezdődnie, amely az alkalmazásfejlesztés egyik legnépszerűbb és legszélesebb körben használt fejlesztési nyelve és számítástechnikai platformja. A fejlesztők a világ minden táján a Java tanulásával kezdik meg a kódolás elsajátítását. A rugalmas és felhasználóbarát Java számos alkalmazás esetében a fejlesztők kedvence, a közösségi médiától, a webtől és a játékalkalmazásoktól kezdve a hálózatkezelésig és a nagyvállalati alkalmazásokig.

A Java és a Spring keretrendszer

Habár a Java egyszerűen használható, és más nyelveknél könnyebben elsajátítható, a Java-alkalmazások fejlesztésének, hibakeresésének és üzembe helyezésének összetettségi szintje szédületes új magasságokba került. Ezt azoknak a változóknak az exponenciális száma okozza, amelyekkel a mai kor fejlesztői szembesülnek, amikor webalkalmazásokat vagy mobilalkalmazásokat fejlesztenek olyan gyakori modern technológiákhoz, mint amilyen például a zenestreamelésre vagy a mobil készpénzfizetésre szolgáló alkalmazások. Az egyszerű üzletági alkalmazásokat készítő fejlesztőknek most már több kódtárral, beépülő modullal, hibanaplózási és hibakezelési könyvtárral, webszolgáltatásokkal való integrációval és több nyelvvel (például C#, Java-, HTML stb.) kell foglalkozniuk. Érthető módon kielégíthetetlen kereslet mutatkozik az olyan eszközök iránt, amelyek leegyszerűsítik a Java-alkalmazások fejlesztését, időt és pénzt takarítva meg a fejlesztőknek.

Az alkalmazás-keretrendszereket, azaz az előre megírt kódok hatalmas halmazait a fejlesztők az igényeiknek megfelelően használhatják és egészíthetik ki velük a saját kódjukat. Ezek a keretrendszerek szinte bármilyen igény esetén enyhítik a fejlesztők terhelését, akár mobil- és webalkalmazásokat fejlesztenek, akár asztali gépekkel és API-kkal dolgoznak. A keretrendszerekkel gyorsabban, egyszerűbben és biztonságosabban hozhat létre alkalmazásokat, mivel újrafelhasználható kódokat és eszközöket biztosítanak a szoftverfejlesztési projekt különböző elemeinek összekapcsolásához.

És itt jön a képbe a Spring: A Spring egy olyan nyílt forráskódú projekt, amely korszerűsített, moduláris megközelítést biztosít az alkalmazások Java használatával való létrehozásához. A Spring-projektek termékcsaládja 2003-ban indult a korai Java-fejlesztés összetettségére adott válaszként, és támogatást nyújt a Java-alkalmazások fejlesztéséhez. A Spring név önmagában általában magát az alkalmazás-keretrendszert, illetve a projektek vagy modulok teljes csoportját jelenti. A Java Spring Boot egy olyan adott modul, amely a Spring-keretrendszer kiterjesztéseként készült.

A Spring-keretrendszer, a Spring Boot és a Java együttműködését alapul véve a Spring Boot tehát egy olyan eszköz, amely leegyszerűsíti és felgyorsítja a webalkalmazások és a mikroszolgáltatások fejlesztését a Spring nevű Java-keretrendszerben.

Néha, mivel a nyelv és/vagy a platform a Java, „Java Spring Boot” „Java Spring-keretrendszer” vagy „Spring Boot-keretrendszer” néven is utalnak rá. Mivel azonban a Javához más, harmadik féltől származó keretrendszerek is készültek, például a Play és a Hibernate, pontosabb „Spring” és „Spring Boot” néven hívni az eszközt.

A Java alapjainak részletes ismertetését a Mi az a Java? című cikkben találja.

Mi a különbség a Spring és a Spring Boot között?

Ahogyan korábban említettük, a Spring egy olyan nyílt forráskódú, Java-alapú alkalmazás-keretrendszer, amely számos kisebb projektet ölel fel. Más népszerű Spring-projektek, közé tartozik például a Spring Data, a Spring Cloud és a Spring Security, csak hogy csak néhányat említsünk. A Spring Boot és a Spring közötti különbség megértéséhez fontos tisztában lenni azzal, hogy bár az alapvető képességeket tekintve lehetnek közöttük eltérések, mindkettő a Spring család tagja.

A Spring és a Spring Boot közötti különbségek teljes megértéséhez először definiálni kell néhány kulcsfontosságú kifejezést.

Egy laptopot néző személy.
Egy táblagépet néző nő.

Mik azok a mikroszolgáltatások?

A mikroszolgáltatások a szoftverfejlesztési architektúra egyik megközelítése. A mikroszolgáltatások „mikro-” előtagja a kód kis méretű, könnyen kezelhető részletekben vagy összetevőkben való szállítására utal, és minden egyes „szolgáltatás” vagy főbb funkció létrehozása és üzembe helyezése a többi szolgáltatástól függetlenül történik. A független összetevők együttműködnek, és a szerződéseknek nevezett, előírt API-dokumentumokon keresztül kommunikálnak. Ezeknek a mikroszolgáltatásoknak a kis léptékűsége és relatív elszigeteltsége számos előnnyel jár. Például mivel az ilyen típusú architektúra elosztott és lazán összekapcsolt, egyetlen összetevő meghibásodása nem okozza az egész alkalmazás leállását. A további előnyök közé tartozik a nagyobb hatékonyság, a könnyebb karbantartás, a jobb üzleti összehangoltság és a nagyobb hibatűrés.

Mi az a függőséginjektálás?

A függőséginjektálás (DI) a kontroll megfordításának (IoC) megvalósítására szolgáló tervezési technika. Az objektumorientált programozásban, például a Javában, a más objektumoktól függő objektumokat függőségeknek nevezzük. A fogadó vagy függő objektumot általában ügyfélnek, azt az objektumot pedig, amelytől az ügyfél függ, szolgáltatásnak nevezzük. A függőséginjektálás tehát átadja a szolgáltatást az ügyfélnek, vagy „injektálja” a függőséget egy injektor nevű kóddal. A függőséginjektálás szükségtelenné teszi, hogy az ügyfél határozza meg a használandó szolgáltatást – ezt az injektor végzi el az ügyfél számára.

Egy laptopot és monitort néző személy
VR-headsetet viselő nő

Mi az a konvencióalapú kódolás?

A konvencióalapú, más néven konvenció szerinti kódolás, az alkalmazás-keretrendszerekben használt fogalom, amellyel csökkenthető a fejlesztők által meghozandó döntések száma. Az ismétlések elkerülésére vonatkozó alapelvet követve gondoskodik a felesleges kódok megírásának megelőzéséről. A konvenció szerinti kódolás a rugalmasság fenntartására törekszik, miközben lehetővé teszi a fejlesztők számára, hogy csak az általuk létrehozott alkalmazás nem konvencionális aspektusaihoz írjanak kódot. Ha az alkalmazás kívánt viselkedése megfelel a lefektetett konvencióknak, az alkalmazás egyszerűen csak alapértelmezés szerint futni fog anélkül, hogy konfigurációs fájlok írására lenne szükség. A fejlesztőnek csak akkor kell explicit módon megírnia a konfigurációs fájlokat, ha a kívánt viselkedés eltér a „konvenciótól”.

A Spring-keretrendszer és a Spring Boot összehasonlítása

Mivel a Spring Boot a Spring-keretrendszer előnyeire épül, valójában nem azt kell eldönteni, hogy a Springet vagy a Spring Bootot kell-e használni, inkább arról van szó, hogy a kettő együttes használata további előnyöket biztosít. Nem választani kell a Spring és a Spring Boot közül; a Spring és Spring Boot együttműködik:
szervezeti szintű támogatási csomag
Spring Spring Boot összehasonlítása
Mi ez?

Java-alapú, nyílt forráskódú webalkalmazás-keretrendszer.

A Spring-keretrendszerre épülő bővítmény vagy modul.

Mire szolgál?

Rugalmas, teljes mértékben konfigurálható, az előre összeállított kód eszközeit és kódtárait használó környezetet biztosít a testre szabott, lazán összekapcsolt webalkalmazások létrehozásához.

Lehetővé teszi olyan önálló Spring-alkalmazások létrehozását, amelyek azonnal futtathatók jegyzetek, XML-konfiguráció vagy sok további kód írása nélkül.

Mikor használható?

A Spring használatával az alábbiakat érheti el:

  • Rugalmasság.
  • Vélemény nélküli megközelítés.*
  • A függőségek eltávolítása az egyéni kódból.
  • Rendkívül egyedi konfigurációk implementálása.
  • Nagyvállalati alkalmazások fejlesztése.

A Spring Boot használatával az alábbiakat érheti el:

  • Egyszerű használat.
  • Véleményezett megközelítés.*
  • Minőségi alkalmazások gyors üzembe helyezése és a fejlesztési idő csökkentése.
  • A sablonkódok írásának vagy az XML konfigurálásának elkerülése.
  • REST API-k fejlesztése.
Mi a fő funkciója?

Függőséginjektálás

Automatikus konfigurálás

Vannak beágyazott kiszolgálói?

Nem. A Springben explicit módon kell beállítania a kiszolgálókat.

Igen, a Spring Boot beépített HTTP-kiszolgálókat tartalmaz, ilyen például a Tomcat és a Jetty.

Hogyan van konfigurálva?

A Spring-keretrendszer rugalmasságot biztosít, de a konfigurációját manuálisan kell létrehozni.

A Spring Boot a Springet és más külső keretrendszereket a „konvencióalapú kódolás” alapértelmezett alapelvével konfigurálja automatikusan.

Tudnom kell, hogyan lehet dolgozni az XML-lel?

A Springben szükség van az XML-konfiguráció ismeretére.

A Spring Boot nem igényel XML-konfigurációt.

Léteznek CLI-eszközök az alkalmazások fejlesztéséhez/teszteléséhez?

A Spring-keretrendszer önmagában nem biztosít CLI-eszközöket az alkalmazások fejlesztéséhez vagy teszteléséhez.

Spring-modulként a Spring Boot rendelkezik egy CLI-eszközzel a Spring-alapú alkalmazások fejlesztéséhez és teszteléséhez.

Véleményezett vagy vélemény nélküli megközelítés alapján működik?

Vélemény nélküli*

Véleményezett*

*Véleményezett vagy vélemény nélküli keretrendszer-megközelítés

Bár a „véleményezett” szó akár negatívnak is hangozhat, a Spring Boot véleményezett megközelítésének és a vélemény nélküli Spring-keretrendszernek egyaránt megvan a maga előnye.

Véleményezett megközelítés

A véleményezett megközelítés álláspontja szerint létezik egy olyan módszer, amely jelentősen egyszerűbb, mint az összes többi. A szoftver kialakításánál fogva korlátozza a tervezőket, azaz arra biztatja őket, hogy az előírt módon végezzék a feladatokat.

Egy jól kikövezett utat biztosít, azaz olyan ajánlott eljárást, amely a legtöbb ember számára a legtöbb helyzetben működni fog. Az alkalmazás írása közben szigorúan betartják ezeket az ajánlott eljárásokat és széles körben elterjedt konvenciókat. A véleményezett megközelítéssel az együttműködés és a kódolási projekttel kapcsolatos segítségnyújtás sokkal egyszerűbbé válik – a keretrendszer használatában jártas többi fejlesztőnek az új alkalmazás azonnal ismerős terepnek fog számítani, és így rögtön megkezdhetik vele a munkát.

Vélemény nélküli megközelítés

A nem megnyitott megközelítést akkor célszerű alkalmazni, ha minden megoldáshoz nagyjából azonos mértékű erőfeszítésre vagy összetettségre van szükség. Azt az álláspontot képviseli, hogy egy probléma megoldásának nincs egyetlen helyes módja. Ehelyett olyan rugalmas eszközöket biztosít, amelyek számos módot biztosítanak a probléma megoldására. A vélemény nélküli keretrendszerek előnye, hogy nagyfokú rugalmasságot biztosítanak a fejlesztés során, és nagyobb mértékben helyezik az irányítást a fejlesztők kezébe. Az ilyen fokú rugalmasság legnagyobb hátránya, hogy a fejlesztőnek több döntést kell hoznia, és előfordulhat, hogy végül több kódot is kell írnia, mert a keretrendszer annyira nyitott és vélemény nélküli.

A Spring Boot funkciói és előnyei

Végül következzen az izgalmas rész: azaz azok a képességek, amelyeket a Java Spring Boot a Spring-keretrendszeren felül biztosít. A Spring Boot egyszerűbb és gyorsabb módot biztosít az alkalmazások beállítására, konfigurálására és futtatására. Ez kiküszöböli a legtöbb Spring-alapú alkalmazás beállításához szükséges nagyfokú konfigurációval járó terhelést. A fejlesztők anélkül használhatják a Spring Bootot, hogy meg kellene ismerniük az alapjául szolgáló Spring-keretrendszert.

Egy széken ülve egy asztali eszköz képernyőjét néző személy

Az alábbiakból megtudhatja, hogyan segíthetnek a Spring Boot-funkciók a Java-alapú programozási feladatok egyszerűsítésében. A Spring Boot néhány fő funkciója:

A Spring Boot előnyei

A Spring Boot:

Java Spring Boot-oktatóanyagok

Ha már ismeri az alkalmazások Spring-keretrendszerrel való fejlesztésének módját, akkor valószínűleg könnyen elsajátíthatja Spring Boot használatát az ebben a szakaszban található oktatóanyagok, projektindítók és dokumentációk segítségével. De azoknak is van jó hírünk, akik úgy szeretnék gyorsan használatba venni a Spring Bootot, hogy még nem ismerik a keretrendszert. A Spring Boot használatának elsajátítására – és a használatbavételére – a Spring-keretrendszer megismerése előtt is lehetőség van, mivel a keretrendszerrel kapcsolatos alapismereteket a Spring Boot használata során is megtanulhatja. Bár így nem fog mindent megtanulni, amit a keretrendszerről tudni érdemes, jó kiindulási pontnak fog bizonyulni, ha később az elsajátítása mellett dönt.

Azonkívül, hogy sokkal gyorsabbá és hatékonyabbá teszi az alkalmazásfejlesztést, a Spring Boot elsajátításának másik előnye, hogy a többi Spring-funkció, azaz a Spring Data, a Project Reactor és a Spring Security használatára is képessé teszi.

Fejhallgatót használó, laptopon keresztül beszélgető személy
Mindemellett egyszerűbbnek fogja találni az első Spring Boot-oktatóanyag elsajátítását, ha először megtanulja, hogyan működnek a függőséginjektálással és a kontroll megfordításával kapcsolatos alapfogalmak a Spring-keretrendszerben. Íme egy nagyon magas szintű áttekintés:

Függőséginjektálás

  • XML-alapú, azaz <beans/> és <namespace:*/>.
  • Jegyzetalapú, azaz @Component, @Autowired, @Inject.
  • Java-alapú, azaz @Configuration classes, @Bean methods.

A kontroll megfordítása (IoC)

  • ApplicationContext – a Spring IoC-tárolójaként szolgáló gyökérfelület.
  • BeanFactory – a Spring-tároló eléréséhez használható felület.
  • Beans – az ApplicationContext által példányosított, összeállított és kezelt objektumok.

Java Spring Boot-oktatóanyagok kezdőknek

Az alapok elsajátítása után, ha nagy méretekben szeretne Spring Boot-alkalmazásokat fejleszteni és üzembe helyezni, érdemes lehet kipróbálnia a Microsoft és a VMware teljes mértékben felügyelt Azure Spring Cloud szolgáltatását. Vagy azt is megteheti, hogy a Spring Boot-alkalmazások TLS-/SSL-tanúsítványokkal való védelmével foglalkozó oktatóanyag segítségével azonnal használatba veszi a keretrendszert.

Java-alkalmazások létrehozása és biztonságossá tétele

Létrehozhat egy Java-alkalmazást a Spring Initializr segítségével a Microsoft Entra ID-hoz (korábban Azure Active Directory-hez) készült Spring Boot-indító használatával.

Az első alkalmazás üzembe helyezése az Azure Spring Cloudban

Megtudhatja, hogyan hozhat létre, építhet ki és monitorozhat egy, a Spring Initializr segítségével fejlesztett egyszerű Spring Boot-alkalmazást.

Egyszerű Spring Boot-mikroszolgáltatás fejlesztése

Létrehozhat és üzembe helyezhet egy egyszerű mikroszolgáltatást – majd megtanulhatja, hogyan egészítheti ki Spring Cloud-technológiákkal.

További Spring Boot-indítók

A Spring Boot-alkalmazásait tárterülettel, biztonsággal, hitelesítéssel és Key Vault-funkciókkal egészítheti ki.

Gyakori kérdések

  • A Spring Boot a Spring által kínált nyílt forráskódú, mikroszolgáltatás-alapú, webes Java-keretrendszer, amely különösen hasznos a webalkalmazásokat és mikroszolgáltatásokat fejlesztő szoftvermérnökök számára.

  • A „Spring Boot a Javában” a „Java-Spring Boot” ugyanazt jelenti, a két kifejezés felcserélhető egymással. A Java a nyelv és a platform, a Spring a Java-alapú alkalmazás-keretrendszer, a Spring Boot pedig a Spring-keretrendszer kiterjesztése, amely néhány további előnyt is tartalmaz.

  • A Spring Bootban megtalálhatók az általános Spring-keretrendszer funkciói, de a Spring Boot nem igényli a Spring használatának elsajátítását. A fejlesztők kevesebb idő alatt helyezhetik üzembe az alkalmazásokat, mivel a Spring Boot-attribútumok konfigurálása automatikusan történik, a véleményezett megközelítés pedig kiküszöböli a Spring-alkalmazások fejlesztéséhez és üzembe helyezéséhez szükséges sablonkódok és konfigurációk nagy részét.

  • Igen, ahogyan fent már említettük, a Spring Boot különösen hasznos a szoftverfejlesztési architektúra mikroszolgáltatás-alapú megközelítése esetén. A mikroszolgáltatások népszerű módszernek bizonyulnak az olyan kis, autonóm csapatok létrehozására, amelyek egymástól függetlenül dolgoznak, a mikroszolgáltatások pedig kialakításuknál fogva csak a háttérrendszerben működnek.

  • A csökkentett fejlesztési idő, a nagyobb hatékonyság és a könnyű használat csupán néhány előnye a Spring Boot alkalmazások fejlesztésének.

  • A Spring webhelyén számos oktatóanyagot, gyorsútmutatót és dokumentációt, illetve a Microsoft Azure-tól származó Spring Boot-indítót és dokumentációt talál. Ha azonnal neki szeretne látni a Spring Boot-alkalmazások üzembe helyezésének, nézze meg A Spring Boot-alkalmazások nagy méretekben való felhőbeli üzembe helyezésének felgyorsítása című webináriumot.

Ha készen áll, már létre is hozhatja az ingyenes Azure-fiókját