Navigáció kihagyása

Mi az a Java Spring Boot?

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

Mi az a Spring Boot?

A Spring Boot meghatározásához a magyarázatnak a Javával kell kezdődnie, amely az alkalmazásfejlesztés egyik legnépszerűbb és leggyakrabban használt fejlesztési nyelve és számítási platformja. A fejlesztők világszerte a Java megismerésével kezdik a kódolási ismereteiket. A Java rugalmas és felhasználóbarát, számos alkalmazás fejlesztőjének kedvence – legyen szó akár közösségi médiáról, webről, játékalkalmazásokról, akár hálózatkezelésről vagy nagyvállalati alkalmazásokról.

Java és a Spring-keretrendszer

Bár a Java könnyen használható és könnyebben tanulható más nyelvekhez képest, a Java-alkalmazások létrehozásának, hibakeresésének és telepítésének bonyolultsága szédítő magasságokba emelkedett. Ennek oka, hogy a modern fejlesztőknek exponenciálisan növekvő számú változóval kell szembenéznie webalkalmazások vagy mobilalkalmazások fejlesztésekor az olyan elterjedt modern technológiák esetében, mint a zenestreamelés vagy a mobilfizetés. Az alapvető üzletági alkalmazásokat író fejlesztőknek mostanra már több kódtárral, beépülő modullal, hibanaplózással és kódtárak kezelésével, webszolgáltatásokkal és különböző nyelvekkel (például C#, Java, HTML stb.) kell foglalkozniuk. Érthető módon kielégíthetetlen a Java-alkalmazások fejlesztését leegyszerűsítő eszközök iránti igény, hiszen ezzel időt és pénzt spórolnak a fejlesztők.

Adja meg az alkalmazás-keretrendszereket – az előre írt kód nagy törzsét, amelyet a fejlesztők az igényeiknek megfelelően használhatnak és hozzáadhatnak a saját kódjukhoz. Ezek a keretrendszerek szinte bármely esetben csökkenteni tudják a fejlesztő terhelését – akár mobil- és webalkalmazásokat fejlesztenek, akár asztali számítógépekkel és API-kkal dolgoznak. A keretrendszerek az alkalmazások létrehozását gyorsabbá, egyszerűbbé és biztonságosabbá teszik azáltal, hogy újrafelhasználható kódot és eszközöket biztosítanak egy szoftverfejlesztési projekt különböző elemeinek összekapcsolásához.

Így jön szóba a Spring: A Spring egy nyílt forráskódú projekt, amely leegyszerűsített, moduláris megközelítést biztosít az alkalmazások Javás létrehozásához. A Spring-projektek családja 2003-ban indult el válaszként a korai Java-fejlesztés bonyolultságára, támogatást nyújtva a Java-alkalmazások fejlesztéséhez. Maga a Spring név általában az alkalmazás keretrendszerére, esetleg a projektek vagy modulok teljes csoportjára utal. A Spring Boot a Spring-keretrendszer kiterjesztéseként elkészült egyik modul.

Most, hogy már ismerjük a Spring-keretrendszer, a Spring Boot és Java együttes működését, itt a Spring Boot definíciója – az eszköz, amely leegyszerűsíti és felgyorsítja a webalkalmazások és mikroszolgáltatások fejlesztését a Java-keretrendszerben, a Springben.

Mivel a programnyelv és/vagy a platformja Java, néha „Java Spring Boot”, „Java Spring-keretrendszer” vagy „Spring Boot keretrendszer” néven is említik. Mivel azonban vannak más, külső Java-keretrendszerek, például a Play and Hibernate, pontosabb, ha a „Spring” és a „Spring Boot” nevet használjuk.

A Java alapjainak magas szintű megismeréséhez olvassa el a Mi az a Java? című cikket.

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

Ahogy korábban említettük, a Spring egy nyílt forráskódú, Java-alapú alkalmazás-keretrendszer, amely sok kisebb projektet fed le. Ilyen népszerű Spring-projekt többek között a Spring Data, a Spring Cloud és a Spring Security is. 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ő funkciók különbözhetnek, mindkettő a Spring családhoz tartozik.

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

Mik azok a mikroszolgáltatások?

A mikroszolgáltatások a szoftverfejlesztési architektúra egyik megközelítése. A „mikro” arra utal, hogy a kód kis méretű, kezelhető darabokban vagy összetevőkben érkezik, valamint minden egyes „szolgáltatás” vagy alapfunkció a többi szolgáltatástól függetlenül jön létre és települ. A független összetevők együttműködnek egymással, és előírt API-dokumentumokon, más néven egyezményeken keresztül kommunikálnak. A mikroszolgáltatások kis léptékének és relatív elkülönítésének számos előnye van. Például mivel az ilyen típusú architektúra elosztott és lazán kapcsolódik, az egész alkalmazás nem omlik össze, ha egy összetevő meghibásodik. Egyéb előnyök: hatékonyabb munka, egyszerűbb karbantartás, jobb üzleti összehangolás és nagyobb hibatűrés.

Mi az a függőségbeszúrás?

A függőségbeszúrás (DI) a vezérlés inverziójának (IoC) elérésére szolgáló tervezési módszer. Az objektumorientált programozás (például Java) esetén a más objektumoktól függő objektumokat függőségeknek nevezzük. Jellemzően a fogadó vagy a függő objektumot ügyfélnek hívják, az ügyféltől függő objektumot pedig szolgáltatásnak. Tehát a függőségbeszúrás átadja a szolgáltatást az ügyfélnek, vagy „injektor” kód használatával „injektálja” a függőséget. A DI nem igényli, hogy az ügyfél megadja a használni kívánt szolgáltatást – az injektor ezt megteszi az ügyfél helyett.

Mi az a „konvenció a konfigurációval szemben”?

A „konvenció a konfigurációval szemben”, más néven a megegyezés szerinti kódolás egy olyan fogalom, amelyet az alkalmazás-keretrendszerek használnak a fejlesztő által meghozandó döntések számának csökkentésére. A „Ne ismételje meg önmagát” elv alapján csökkentik a redundáns kódok írását. A megegyezés szerinti kódolás a rugalmasság megőrzésére törekszik, miközben lehetővé teszi, hogy a fejlesztők a létrehozni kívánt alkalmazásnak csak a rendhagyó szempontjaihoz írjanak kódot. Ha az alkalmazás viselkedése megfelel a létrehozott elvárásoknak, akkor az alkalmazás alapértelmezés szerint fog futni, konfigurációs fájlok írása nélkül. A fejlesztőnek csak akkor kell ténylegesen konfigurációs fájlokat írnia, ha a kívánt viselkedés eltér a „megegyezéstől”.

Spring-keretrendszer kontra Spring Boot

Mivel a Spring Boot a Spring-keretrendszer előnyeire épül, valójában nem az a kérdés, hogy a Spring vagy a Spring Boot-rendszert használjuk, sokkal inkább az, hogy a kettőt hogy lehet együtt működtetni. A Spring és a Spring Boot kéz a kézben jár:

Nincs Spring Spring Boot
Mi ez? Java alapú nyílt forráskódú webalkalmazás-keretrendszer. A Spring-keretrendszerre épülő bővítmény vagy modul.
Mire használható az alkalmazás? A testreszabott, lazán összekapcsolt webalkalmazások létrehozásához rugalmas, teljesen konfigurálható környezetet biztosít az előre elkészített kódeszközök és kódtárak használatával. Lehetővé teszi, hogy különálló Spring-alkalmazásokat hozzon létre, amelyek azonnal futtathatók jegyzetek, XML-konfiguráció vagy további kódok írása nélkül.
Mikor érdemes használnom?

Használja a Spring rendszert, ha a következő a célja:

  • Rugalmasság
  • Véleményhez nem ragaszkodó megközelítés.*
  • Függőségek eltávolítása az egyéni kódból.
  • Rendhagyóan egyedi konfiguráció megvalósítása.
  • Vállalati alkalmazások fejlesztése.

Használja a Spring Boot-rendszert, ha a következő a célja:

  • Egyszerű használat
  • Véleményhez ragaszkodó megközelítés.*
  • Jó minőségű alkalmazások gyors futtatása és a fejlesztési idő csökkentése.
  • Hogy elkerüljük a sablonkód írását vagy az XML konfigurálását.
  • REST API-k fejlesztése.
Mi a legfontosabb jellemzője? Függőségbeszúrás Automatikus konfigurálás
Rendelkezik beágyazott kiszolgálókkal? Nem. A Spring rendszerben explicit módon kell beállítania a kiszolgálókat. Igen, a Spring Boot beépített HTTP-kiszolgálókat tartalmaz, mint például a Tomcat és a Jetty.
Milyen a konfiguráció? A Spring-keretrendszer rugalmasságot biztosít, de a konfigurációját manuálisan kell létrehozni. A Spring Boot automatikusan konfigurálja a Spring- és más külső keretrendszereket, az alapértelmezett „konvenció a konfigurációval szemben” elv szerint.
Ismernem kell az XML használatát? Az XML-konfiguráció ismerete szükséges a Spring rendszerben. 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 a Spring-alapú alkalmazások fejlesztésére és tesztelésére szolgáló CLI-eszközzel rendelkezik.
Működik véleményhez ragaszkodó és véleményhez nem ragaszkodó megközelítésből is? Véleményhez nem ragaszkodó* Véleményhez ragaszkodó*

*Véleményhez ragaszkodó kontra véleményhez nem ragaszkodó keretrendszeri megközelítés

Bár a „véleményhez ragaszkodó” szó negatív fennhanggal bírhat, a Spring Boot véleményhez ragaszkodó és a Spring-keretrendszer véleményhez nem ragaszkodó megközelítésének is van előnye.

Véleményhez ragaszkodó megközelítés

A véleményhez ragaszkodó megközelítés alapján létezik az összes többihez képest egy lényegesen egyszerűbb módszer. Tervezésénél fogva a szoftver korlátozza a tervezőket, és arra ösztönzi őket, hogy az előírt módon végezzék a dolgokat.

Ez egy jól bejáratott módszer, egy legjobb gyakorlat, amely általában a legtöbb embernek működik. Az alkalmazást az ilyen legjobb gyakorlatok és széles körben elterjedt konvenciók betartásával írták. A véleményhez ragaszkodó megközelítés sokkal egyszerűbbé teszi az együttműködést és a kódolási projektekkel kapcsolatos segítségkérést – az adott keretrendszerrel kapcsolatban tapasztalattal rendelkező többi fejlesztő azonnal megismerkedhet az új alkalmazással, és már el is kezdhet dolgozni vele.

Véleményhez nem ragaszkodó megközelítés

A véleményhez nem ragaszkodó módszer akkor használható, ha minden megoldáshoz nagyjából azonos munkamennyiség vagy bonyolultság szükséges. Ez a módszer azt az álláspontot képviseli, hogy nincs egyetlen helyes út a probléma megoldásához. Ehelyett rugalmas eszközöket biztosít, amelyek számos módon megoldhatják a problémát. A véleményhez nem ragaszkodó keretrendszerek előnye, hogy nagy rugalmasságot biztosítanak a fejlesztésben, és a fejlesztők kezében is nagyobb az irányítás. A túl nagy rugalmasság fő hátránya, hogy a fejlesztőnek több döntést kell hoznia, és a végén akár több kódot is kell írnia, mert a keretrendszer nagyon nyitott, és ugye nem ragaszkodik semmilyen módszerhez.

A Spring Boot funkciói és előnyei

Végül az izgalmas rész – a Spring Boot legfőbb funkciója, a Spring-keretrendszeren túl. A Spring Boot egyszerűbb és gyorsabb elérési utat biztosít az alkalmazások beállításához, konfigurálásához és futtatásához. Ezzel kiküszöböli a legtöbb Spring-alapú alkalmazás beállításához szükséges konfiguráció nehézkes átemelését. A fejlesztők azonnal megkezdhetik a Spring Boot használatát anélkül, hogy meg kellene ismerniük az alapul szolgáló Spring-keretrendszert.

Így segíthetnek a Spring Boot funkciói a Java-programozási feladatok leegyszerűsítésében. A Spring Boot néhány főbb funkciója:

  • Különálló alkalmazások – a Spring Boot segítségével olyan alkalmazásokat hozhat létre, amelyek nem kötődnek egy adott platformhoz, és amelyek internetkapcsolat vagy egyéb működő szolgáltatások nélkül, helyben futtathatók.
  • Beágyazott kiszolgálók – A Spring Boot segítségével a kiszolgálók, például a Tomcat, a Jetty vagy az Undertow közvetlenül beágyazhatók.
  • A véleményhez ragaszkodó megközelítés – a Spring Boot egyszerűsíti a konfigurációk létrehozását, a véleményhez ragaszkodó, kezdő függőségek megadásával.
  • Automatikus konfigurálás – Ahol lehet, ott a Spring Boot automatikusan konfigurálja a Spring rendszert és más külső könyvtárakat is.
  • Üzemkész funkciók – a Spring Boot olyan üzemkész funkciókat biztosít, mint például a metrikák, az állapotellenőrzések és a külső konfiguráció.

A Spring Boot előnyei

Spring Boot:

  • Csökkenti a fejlesztéssel töltött időt, és növeli a hatékonyságot – a Spring Boot sokkal egyszerűbbé teszi a Spring-alapú alkalmazások fejlesztését a Javával. A Spring-keretrendszer véleményhez ragaszkodó megközelítése csökkenti a döntésekre és az ismétlődő feladatokra fordított időt, és időt szabadít fel az alkalmazások létrehozására és azok tesztelésére.
  • Csökkenti a sablonkódok, a jegyzetek és az XML-konfigurációk írásának szükségességét – A fejlesztőknek nincs szükségük kód létrehozására vagy XML konfigurálására, de még a Spring-keretrendszer megismerésére sem, ha nem akarják.
  • Integrálja a Spring-projektcsaládba tartozó alkalmazásokat – a Spring Boot-alkalmazások zökkenőmentesen integrálhatók más projektekkel a Spring-keretrendszerben – ilyen a Spring Data, a Spring Cloud, a Spring Security – és más megbízható felhőszolgáltatások, mint például a Microsoft Azure Spring Cloud.
  • Fejlesztői és tesztelési eszközöket biztosít – a Spring Boot parancssori kezelőfelületének (CLI) eszközével és a beágyazott HTTP-kiszolgálóval könnyen létrehozhat környezeteket a Spring-alapú alkalmazások fejlesztési/tesztelési folyamatához.
  • Beépülő modulokat és eszközöket kínál a fejlesztés megkönnyítéséhez – a Spring Boot bővítményeket javasol a memóriabeli adatbázisokkal való munkához, valamint egyéb népszerű build-automatizálási eszközöket, például az Apache Mavent.

Java Spring Boot oktatóanyagok

Ha már ismeri a Spring-keretrendszerben az alkalmazásfejlesztést, akkor valószínűleg könnyebben elsajátíthatja a Spring Boot használatát az ebben a szakaszban található oktatóanyagok, projektindítók és dokumentáció segítségével. De jó hír, hogy ha nem ismeri még a keretrendszert, de gyorsan szeretné használni a Spring Boot-rendszert, akkor megtanulhatja és dolgozhat vele a Spring-keretrendszer megtanulása előtt, hiszen menet közben számos alapismeretet fog elsajátítani. Bár ez nem tanít meg minden tudnivalót a keretrendszerről, előnnyel indulhat, ha később mégis a megtanulása mellett dönt.

A Spring Boot megismerésének másik előnye azonkívül, hogy az alkalmazásfejlesztés sokkal gyorsabbá és hatékonyabbá válik, hogy egyúttal más Spring-funkciók (például a Spring Data, a Project Adások és a Spring Security) használatát is elsajátítja.

Könnyebb a Spring Boot-oktatóanyaggal dolgozni, ha először megtanulja a függőségbeszúrás és a vezérelt munka inverziójának alapfogalmait a Spring-keretrendszerben. Íme egy nagyon magas szintű áttekintés:

Függőségbeszúrás

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

Vezérlő inverziója (IoC)

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

Spring Boot oktatóanyag kezdőknek

Ha elsajátította az alapokat, és nagy mennyiségben szeretne Spring Boot-alkalmazásokat létrehozni és telepíteni, figyelmébe ajánljuk a teljes mértékben felügyelt Azure Spring Cloud-szolgáltatást a Microsoft és a VMware jóvoltából.

Hozzon létre egy Java-alkalmazást, és gondoskodjon annak biztonságáról

Hozzon létre Java-alkalmazást a Spring Initializr használatával, az Azure Active Directory (Azure AD) Spring Boot Starter segítségével.

Telepítse az első alkalmazást az Azure Spring Cloud szolgáltatásba

Tudjon meg többet arról, hogyan hozhat létre, építhet ki és kísérhet figyelemmel egy egyszerű Spring Boot-alkalmazást, amit a Spring Initializrrel készített.

Hozzon létre egyszerű Spring Boot mikroszolgáltatást

Létrehoz és telepít egy egyszerű mikroszolgáltatást – majd megtanulja, hogyan adjon hozzá Spring Cloud-technológiákat.

További Spring Boot kezdői útmutatók

Adjon hozzá tárolási, biztonsági, hitelesítési és kulcstartó-funkciókat a Spring Boot-alkalmazásokhoz.

Gyakori kérdések

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

    További információ

  • A „Spring Boot Java nyelven” avagy a „Java Spring Boot” ugyanaz – a két kifejezés felcserélhető. A Java a nyelv és a platform, a Spring a Java nyelven alapuló alkalmazás-keretrendszer, a Spring Boot pedig a Spring-keretrendszer bővítménye, néhány további előnnyel.

    További információ

  • A Spring Boot rendelkezik az általános Spring-keretrendszer funkcióival, de nem szükséges hozzá a Spring ismerete. A fejlesztők gyorsabban tudják elkészíteni az alkalmazásokat, mert a Spring Boot-attribútumok automatikusan konfigurálhatók, és a véleményezett megközelítés eltávolítja a Spring-alkalmazások fejlesztéséhez és telepítéséhez kapcsolódó sablonkód és konfiguráció nagy részét.

    További információ

  • Csökkentett fejlesztési idő, megnövelt termelékenység és könnyű használat, hogy csak néhányat említsünk a Spring Boot-alkalmazások fejlesztésének előnyeiből.

    További információ

  • Számos oktatóanyag, rövid útmutató és dokumentáció található a Spring webhelyén, nem beszélve a Spring Boot-útmutatókról és Microsoft Azure-dokumentációkról. Ha szeretné azonnal megkezdeni a Spring Boot-alkalmazások telepítését, tekintse meg a Tegyük ki a Spring Boot-alkalmazásokat a felhőbe c. webináriumot.

    További információ

Ha készen áll, állítsa be ingyenes Azure-fiókját