org.springframework

1. Bemutatkozás

A Spring Framework tiszta és kifejező programozási és konfigurációs modellt kínál a modern Java-alapú vállalati alkalmazások számára, amelyek bármilyen telepítési platformon futtathatóak.

Ez a cikk a tavaszi keretrendszer és főleg az org.springframework csomag magas szintű áttekintését tartalmazza, amely támogatást nyújt a függőség-injektáláshoz, a tranzakciókezeléshez, a webalkalmazásokhoz, az adatokhoz való hozzáféréshez, az üzenetküldéshez, a teszteléshez és még sok máshoz.

2. Jellemzők

A tavaszi keret a szolgáltatások átfogó listáját kínálja:

  • Tavaszi MVC webalkalmazás és RESTful webszolgáltatási keretrendszer
  • Aspektorientált programozás, ideértve a Spring deklaratív tranzakciókezelését
  • Függőségi injekció
  • A vezérlés inverziója

és még sok más.

3. Maven-függőségek

Ha hozzá szeretné adni a Spring-et a Maven-projektjéhez, itt találhat további információt erről.

4. Tavaszi projektek

A keretrendszer számos különféle modult és projektet tartalmaz. A konfigurálástól a biztonságig, a webalkalmazásoktól a nagyméretű adatokig - bármi legyen is az alkalmazás infrastrukturális igénye, van egy tavaszi projekt, amely segít felépíteni.

Kezdje kicsiben, és csak azt használja, amire szüksége van - a tavaszi kialakítás moduláris. Nézzünk meg néhány ilyen projektet itt.

4.1. Tavaszi Web MVC

A webes MVC keretrendszer biztosítja a Model-View-Controller architektúrát, amely a DispatcherServlet amely kezeli az összes HTTP kérést és választ, és lazán összekapcsolja az alkalmazást.

A legjobb az egészben, hogy bármilyen objektumot parancsként vagy űrlapobjektumként használhat - nincs szükség keretrendszer-specifikus felület vagy alaposztály megvalósítására. Adatkötése rendkívül rugalmas: például a típusok eltéréseit validációs hibákként kezeli, amelyeket az alkalmazás értékelhet, nem pedig rendszerhibákként.

Itt megtalálja a teljes útmutatót.

4.2. Tavaszi IO Platform

Az IO Platform meghatároz egy sor függőséget (mindkét Spring Framework-függőség harmadik fél könyvtáraként), amelyek beépíthetők egy Java-projektbe, hogy lehetővé tegye a szükséges függőségek kiválasztását anélkül, hogy aggódna a verzióik közötti kompatibilitás miatt (mert a Spring IO garantálja).

Az IO Platform tanúsítvánnyal rendelkezik a Java 7 és 8 használatához.

Vessen egy pillantást a GitHub projektre.

4.3. Tavaszi csizma

A Spring Boot megkönnyíti az önálló, gyártási szintű tavaszi alkalmazások létrehozását, amelyeket „csak futtathat”. Nagyon megkönnyíti a rugóval működő alkalmazás létrehozását, minimális munkával.

A vele létrehozott alkalmazás nagyrészt automatikusan konfigurálható néhány értelmes alapértelmezéssel, és mellette metrikákkal javítható (hány kérés, mennyi ideig tartott a kérés stb.).

Több (opcionális) modulból áll:

  1. CLI - Groovy-alapú parancssori felület a tavaszi rendszerindítással létrehozott alkalmazások elindításához / leállításához.
  2. Boot Core - más modulok alapja.
  3. Automatikus konfigurálás - modul a tavaszi projektek széles körének automatikus konfigurálásához. Észlelni fogja bizonyos keretek rendelkezésre állását (Spring Batch, Spring Data JPA, Hibernate, JDBC).
  4. Működtető - Ez a projekt hozzáadásával engedélyezi az alkalmazás bizonyos vállalati szolgáltatásait (Biztonsági, Metrikai, Alapértelmezett hibaoldalak).
  5. Kezdők - Különböző gyorsindítási projektek, amelyeket a Maven vagy a Gradle build fájlba tartozhat. Megvannak a szükséges függőségek az ilyen típusú alkalmazásokhoz. Jelenleg vannak kezdő projektek egy webprojekthez (tomcat és móló alapú), Spring Batch, Spring Data JPA, Spring Integration, Spring Security.
  6. Eszközök - A Maven és Gradle build eszköz, valamint az egyedi Spring Boot Loader (az egyetlen futtatható jar / war-ban használatos) benne van ebben a projektben.

Itt megtalálhatjuk a Maven-műtárgyat, és megnézhetjük a GitHub projektet.

4.4. Tavaszi adatok

A Spring Data küldetése, hogy ismerős és következetes, tavaszi alapú programozási modellt nyújtson az adatokhoz való hozzáféréshez, miközben megtartja az alapul szolgáló adattár különleges tulajdonságait.

A projekt elsődleges célja az új adatelérési technológiákat - például nem relációs adatbázisokat, a térképcsökkentő keretrendszereket és a felhőalapú adatszolgáltatásokat - használó, rugóval működő alkalmazások felépítésének megkönnyítése, valamint a relációs adatbázis-technológiák jobb támogatása .

Ez egy olyan ernyőprojekt, amely számos, az adott adatbázisra jellemző alprojektet tartalmaz (például JPA, MongoDB, Redis, Apache Solr, Gemfire, Apache Cassandra). A projekteket sok olyan céggel és fejlesztővel közösen fejlesztjük ki, amelyek mögött ezek az izgalmas technológiák állnak.

4.5. Tavaszi biztonság

A Spring Security egy olyan keretrendszer, amely a Java alkalmazások hitelesítésének és hitelesítésének biztosítására összpontosít. Mint minden tavaszi projekt, a Spring Security valódi ereje abban rejlik, hogy milyen egyszerűen bővíthető az egyedi követelményeknek való megfelelés érdekében. Apache 2.0 licenc alatt jelent meg, így magabiztosan használhatja projektjeiben.

Könnyen megtanulható, telepíthető és kezelhető is. Dedikált biztonsági névtérrel rendelkezik, amely irányelveket biztosít a leggyakoribb műveletekhez, lehetővé téve az alkalmazások teljes biztonságát az XML néhány sorában, és megvédheti alkalmazásait olyan támadásoktól, mint a munkamenet rögzítése, a kattintásgátlás, a webhelyek közötti kérelmek hamisítása stb.

A Spring Security számos más tavaszi technológiával is integrálva van, köztük a Spring Web Flow, a Spring Web Services és a Pivotal tc Server.

Vessen egy pillantást a tavaszi biztonság gyakran feltett kérdéseire, hogy mélyebb betekintést nyerjen, és nézze meg a Maven-függőség oldalt. Ezenkívül tekintse meg a Spring biztonsági oktatóanyagokat a hitelesítéshez, regisztrációhoz és a Spring Security beállítása a Maven használatával.

4.6. Tavaszi szociális

A Spring Social a keretrendszer kiterjesztése, amely lehetővé teszi az alkalmazások számára, hogy kapcsolatba lépjenek olyan szoftver-mint-szolgáltató szolgáltatókkal, mint a Twitter, a Facebook és más OAuth hitelesítésen alapuló API-k. Használatra kész OAuth hitelesítési keretrendszert biztosít webalapú alkalmazásokhoz.

Jellemzők:

  • Bővíthető szolgáltatói keretrendszer, amely jelentősen leegyszerűsíti a helyi felhasználói fiókok és a hosztolt szolgáltatói fiókok összekapcsolásának folyamatát.
  • Csatlakozásvezérlő, amely kezeli a Java / Spring webalkalmazás, a szolgáltató és a felhasználók közötti engedélyezési folyamatot.
  • Java-összerendelések olyan népszerű szolgáltatói API-khoz, mint a Facebook, a Twitter, a LinkedIn, a TripIt és a GitHub.
  • Bejelentkezési vezérlő, amely lehetővé teszi a felhasználók számára, hogy hitelesítsék magukat az alkalmazással a szolgáltatón keresztüli bejelentkezéssel.

Első lépések útmutatói:

  • Hozzáférés a Facebook adatokhoz
  • Tavaszi közösségi Twitter-beállítás
  • Másodlagos Facebook Bejelentkezés

A tavasz jó néhány példát mutat be a GitHub projektekre, amelyek segítségével gyorsan elindulhat, a Spring Social referencia pedig praktikus és egy gyors kezdő oldalt is tartalmaz.

4.7. Tavaszi héj

A Spring Shell egy interaktív shell, amely parancsokkal könnyen kibővíthető a Spring alapú programozási modell segítségével.

A shell projekt felhasználói könnyen felépíthetnek egy teljes funkcionalitású shellt (más néven parancssori) alkalmazás a Spring Shell tégely függvényében, és hozzáadják a saját parancsaikat (amelyek a tavaszi babon módszerként szerepelnek). A parancssori alkalmazás létrehozása hasznos lehet például. hogy kölcsönhatásba lépjen a projekt REST API-jával, vagy hogy működjön a helyi fájltartalommal.

A GitHub projekt itt található.

4.8. Spring Mobile

A Spring Mobile a keretrendszer és a Spring Web MVC kiterjesztése, amelynek célja a mobil webalkalmazások fejlesztésének egyszerűsítése.

A Spring Mobile egy olyan keretrendszer, amely képes felismerni azt az eszköztípust, amely kérést küld a Spring webhelyére, és az adott eszköz alapján alternatív nézeteket szolgál fel. Mint minden tavaszi projekt, a Spring Mobile valódi ereje abban rejlik, hogy milyen egyszerűen bővíthető.

Jellemzők:

  • Eszközfeloldó absztrakció a mobil- és táblagépek kiszolgálóoldali észleléséhez
  • Webhely-beállítások kezelése, amely lehetővé teszi a felhasználó számára, hogy jelezze, ha a „normál”, „mobil” vagy „táblagépes” élményt részesíti előnyben
  • Olyan webhelyváltó, amely képes a felhasználót a készüléke alapján a legmegfelelőbb webhelyre váltani, akár mobilra, táblagépre, akár normálra, és opcionálisan jelezte a webhely preferenciáját
  • Eszköztudatos nézetkezelés a különböző nézetek rendszerezéséhez és kezeléséhez az adott eszközök számára.

Ez a példaalkalmazás gyorsan megkezdi Önt.

A Spring MVC segítségével észlelhet egy eszközt, kezelheti a webhely preferenciáit vagy kiszolgálhatja a mobil webes tartalmakat.

4.9. Tavaszi tétel

A Spring Batch egy könnyű, átfogó keretrendszer, amelynek célja a vállalati rendszerek napi működéséhez elengedhetetlen kötegelt alkalmazások fejlesztése.

A kötegelt alkalmazások ebben az összefüggésben automatizált offline rendszerekre utalnak, amelyek tömeges adatfeldolgozásra irányulnak. A Spring Batch automatizálja ezt az alapvető kötegelt iterációt, biztosítva a hasonló tranzakciók halmazként történő feldolgozását, általában offline környezetben, felhasználói beavatkozás nélkül.

A Spring Batch úgy működik, hogy konfigurálható darabméretű adatokat olvas be egy adatforrásból, feldolgozza és végül erőforrásba írja.

Az olvasó adatforrása lehet lapos fájl (szövegfájl, XML fájl, CSV fájl…), relációs adatbázis (MySQL…), MongoDB.

Hasonlóképpen, az író adatokat írhat lapos fájlokba, relációs adatbázisokba, MongoDB-be, levelezőbe stb.

Kezdje el gyorsan a kötegelt szolgáltatás létrehozásával és más tavaszi kötegelt erőforrásokkal.

5. Core rugós csomagok

Vessünk egy pillantást a tavaszi alapcsomagokra.

  • org.springframework.cache - Ez a csomag támogatja az alcsomagokat és osztályokat a gyorsítótár deklaratív kezeléséhez, a nyílt forráskódú gyorsítótár beállításához a Koffein könyvtárban, az osztályok támogatásához a nyílt forráskódú gyorsítótárhoz EhCache 2.x.

  • org.springframework.context - Ez a csomag a beans csomagra épít az üzenetforrások és a Observer tervezési mintázatának támogatására, valamint arra, hogy az alkalmazásobjektumok erőforrásokat szerezzenek egy következetes API használatával.

  • org.springframework.core - Alaposztályokat biztosít a kivételkezeléshez és a verziófelismeréshez, valamint egyéb alapvető segítségeket, amelyek nem specifikusak a keretrendszer egyetlen részén sem.

  • org.springframework.expression - Ez a csomag az absztrakciókat tartalmazza a Tavaszi kifejezés nyelve.

  • org.springframework.http - Ez a csomag egy alapvető absztrakciót tartalmaz az ügyfél / szerver oldali HTTP-n keresztül.

  • org.springframework.jdbc - A csomagban szereplő osztályok megkönnyítik a JDBC használatát, és csökkentik a gyakori hibák valószínűségét.
  • org.springframework.jms - Ez a csomag integrációs osztályokat tartalmaz a JMS számára, lehetővé téve a tavaszi JMS hozzáférést.

  • org.springframework.jndi - A csomagban szereplő osztályok megkönnyítik a JNDI használatát, megkönnyítik a JNDI-ben tárolt konfigurációk elérését, és hasznos szuperosztályokat kínálnak a JNDI hozzáférési osztályokhoz.

  • org.springframework.orm.hibernate5 - A Hibernate 5.x és Spring fogalmak integrációját biztosító csomag.

  • org.springframework.test.util - Általános segédprogram-osztályok egység- és integrációs tesztekben való használatra.

Ez a lista korlátozott, és csak a Spring framework alapvető csomagjait írja le. A teljes listát itt találja.

6. Következtetés

Ebben a gyors áttekintő cikkben különféle projekteket tekintettünk meg, amelyek jelen vannak a tavaszi ökoszisztémában, és gazdag gyűjteményt készítettünk a Maven-függőségekről, a GitHub-projektekről és az egyes projektek átfogó szolgáltatásairól, hogy webalkalmazásaink biztonságossá, méretezhetővé és könnyen kezelhetővé váljanak élni vele.

Megnéztük azokat az alapvető csomagokat is, amelyek hatalmat nyújtanak arra, hogy az alkalmazások logikai szempontjára összpontosíthassunk.