org.springframework

1. Úvod

Spring Framework poskytuje čistý a expresívny programovací a konfiguračný model pre moderné podnikové aplikácie založené na prostredí Java, ktoré môžu bežať na ľubovoľnej platforme nasadenia.

Tento článok sa venuje prehľadu rámca Spring na vysokej úrovni a hlavne balíku org.springframework, ktorý poskytuje podporu pre vkladanie závislostí, správu transakcií, webové aplikácie, prístup k dátam, správy, testovanie a ďalšie.

2. Funkcie

Jarný rámec ponúka komplexný zoznam funkcií:

  • Jarná webová aplikácia MVC a rámec webových služieb RESTful
  • Aspektovo orientované programovanie vrátane jarnej deklaratívnej správy transakcií
  • Injekcia závislostí
  • Inverzia kontroly

a oveľa viac.

3. Závislosti Maven

Ak chcete pridať Spring do svojho projektu Maven, môžete tu nájsť viac informácií.

4. Jarné projekty

Rámec obsahuje množstvo rôznych modulov a projektov. Od konfigurácie cez zabezpečenie, webové aplikácie až po veľké dáta - nech už vaša aplikácia potrebuje akékoľvek infraštruktúry, existuje jarný projekt, ktorý vám ju pomôže vytvoriť.

Začnite v malom a využite to, čo práve potrebujete - pružina je dizajnovo modulárna. Pozrime sa tu na niektoré z týchto projektov.

4.1. Jarný web MVC

Webový rámec MVC poskytuje architektúru Model-View-Controller navrhnutú okolo a DispatcherServlet ktorý spracováva všetky HTTP požiadavky a odpovede a robí aplikáciu voľne spojenou.

Najlepšie na tom je, že vám umožňuje používať ľubovoľné objekty ako objekty príkazov alebo formulárov - nie je potrebné implementovať rozhranie alebo základnú triedu špecifické pre daný rámec. Jeho väzba údajov je vysoko flexibilná: napríklad nezhody typu považuje za chyby overenia, ktoré môže aplikácia vyhodnotiť, nie za chyby systému.

Tu nájdete kompletného sprievodcu.

4.2. Jarná platforma IO

Platforma IO definuje množinu závislostí (obe závislosti Spring Framework ako knižnice tretích strán), ktoré je možné zahrnúť do projektu Java, aby ste si mohli zvoliť potrebné závislosti bez obáv o kompatibilitu medzi ich verziami (pretože Spring IO to zaručuje).

Platforma IO je certifikovaná na prácu s Java 7 a 8.

Prezrite si projekt GitHub.

4.3. Jarná topánka

Spring Boot uľahčuje vytváranie samostatných aplikácií na báze Spring založených na produkcii, ktoré môžete „len spustiť“. Vďaka tomu je veľmi ľahké vytvoriť jarnú aplikáciu s minimom práce.

Aplikácia s ním vytvorená sa dá do značnej miery automaticky nakonfigurovať s niektorými rozumnými predvolenými nastaveniami a vedľa nej sa dá vylepšiť pomocou metrík (koľko požiadaviek, ako dlho trvali požiadavky atď.).

Skladá sa z niekoľkých (voliteľných) modulov:

  1. CLI - Rozhranie príkazového riadku založené na Groovy, ktoré slúži na spustenie a zastavenie aplikácií vytvorených na jar.
  2. Boot Core - Základ pre ďalšie moduly.
  3. Automatická konfigurácia - modul na automatickú konfiguráciu širokej škály jarných projektov. Zistí dostupnosť určitých rámcov (Spring Batch, Spring Data JPA, Hibernate, JDBC).
  4. Aktuátor - ak bude tento projekt pridaný, umožní vašej aplikácii určité podnikové funkcie (stránky Zabezpečenie, Metriky, Predvolené chyby).
  5. Štartéry - rôzne projekty rýchleho spustenia, ktoré sa majú zahrnúť ako závislosť do vášho zostavovacieho súboru Maven alebo Gradle. Bude mať potrebné závislosti pre tento typ aplikácie. V súčasnosti existujú štartovacie projekty pre webový projekt (založený na kocúroch a mólach), Spring Batch, Spring Data JPA, Spring Integration, Spring Security.
  6. Nástroje - Tento projekt obsahuje nástroj na zostavenie Maven a Gradle, ako aj vlastný Spring Boot Loader (používaný v jednom spustiteľnom jar / war).

Môžeme tu nájsť artefakt Maven a pozrieť sa na projekt GitHub.

4.4. Jarné údaje

Poslaním spoločnosti Spring Data je poskytnúť známy a konzistentný programový model založený na jarnom princípe prístupu k údajom, pričom si zachová špeciálne vlastnosti základného úložiska údajov.

Primárnym cieľom tohto projektu je uľahčiť vytváranie jarných aplikácií, ktoré využívajú nové technológie prístupu k údajom, ako sú nerelačné databázy, rámce na redukciu máp a cloudové dátové služby, ako aj poskytovať lepšiu podporu pre technológie relačných databáz. .

Toto je zastrešujúci projekt, ktorý obsahuje veľa čiastkových projektov, ktoré sú špecifické pre danú databázu (ako JPA, MongoDB, Redis, Apache Solr, Gemfire, Apache Cassandra). Projekty sú vyvíjané v spolupráci s mnohými spoločnosťami a vývojármi, ktorí stoja za týmito vzrušujúcimi technológiami.

4.5. Jarná bezpečnosť

Spring Security je rámec, ktorý sa zameriava na poskytovanie autentifikácie a autorizácie aplikácií Java. Ako všetky jarné projekty, skutočná sila Spring Security sa nachádza v tom, ako ľahko sa dá rozšíriť tak, aby vyhovovala vlastným požiadavkám. Je vydávaný pod licenciou Apache 2.0, takže ho môžete s istotou používať vo svojich projektoch.

Je tiež ľahké sa ich naučiť, nasadiť a spravovať. Má vyhradený bezpečnostný menný priestor, ktorý poskytuje smernice pre väčšinu bežných operácií, čo umožňuje kompletné zabezpečenie aplikácií iba v niekoľkých riadkoch XML a môže chrániť vaše aplikácie pred útokmi, ako je napríklad fixácia relácie, clickjacking, falšovanie požiadaviek medzi webmi atď.

Spring Security je tiež integrovaný do mnohých ďalších technológií Spring, vrátane Spring Web Flow, Spring Web Services a Pivotal tc Server.

Pozrite sa na často kladené otázky o jarnom zabezpečení, aby ste získali hlbší prehľad a stránku závislosti Maven. Tiež sa pozrite na jarné bezpečnostné návody pre autentifikáciu, registráciu a nastavenie Spring Security s Maven.

4.6. Spring Social

Spring Social je rozšírením rámca, ktoré umožňuje aplikáciám spojiť sa s poskytovateľmi služieb ako služba, ako sú Twitter, Facebook a ďalšie API založené na autentifikácii OAuth. Poskytuje rámec na autentifikáciu OAuth pripravený na použitie pre webové aplikácie.

Vlastnosti:

  • Rozširovateľný rámec poskytovateľa služieb, ktorý výrazne zjednodušuje proces pripájania miestnych používateľských účtov k účtom hostených poskytovateľov.
  • Kontrolér pripojenia, ktorý spracováva autorizačný tok medzi vašou webovou aplikáciou Java / Spring, poskytovateľom služieb a vašimi používateľmi.
  • Väzby jazyka Java na populárne rozhrania API poskytovateľa populárnych služieb, ako sú Facebook, Twitter, LinkedIn, TripIt a GitHub.
  • Kontrolór prihlásenia, ktorý umožňuje používateľom autentifikovať sa s vašou aplikáciou prihlásením prostredníctvom poskytovateľa služieb.

Sprievodcovia Začíname:

  • Prístup k údajom na Facebooku
  • Jarné sociálne nastavenie Twitteru
  • Sekundárne prihlásenie cez Facebook

Jar poskytuje niekoľko príkladov projektov GitHub, ktoré vám umožnia rýchlo začať, a jarná sociálna referencia je užitočná aj s rýchlou úvodnou stránkou.

4.7. Jarná škrupina

Spring Shell je interaktívny shell, ktorý je možné ľahko rozšíriť príkazmi pomocou programovacieho modelu založeného na Spring.

Používatelia projektu shellu si môžu ľahko vytvoriť plne funkčný shell (alias príkazový riadok) v závislosti na jar Spring Shell a pridaní ich vlastných príkazov (ktoré sú ako metódy na jarných fazuliach). Vytvorenie aplikácie príkazového riadku môže byť užitočné napr. komunikovať s rozhraním REST API vášho projektu alebo pracovať s obsahom lokálnych súborov.

Projekt GitHub nájdete tu.

4.8. Jarný mobil

Spring Mobile je rozšírenie rámca a Spring Web MVC, ktorého cieľom je zjednodušiť vývoj mobilných webových aplikácií.

Spring Mobile je rámec, ktorý poskytuje funkcie na zisťovanie typu zariadenia, ktoré odosiela požiadavku na váš web Spring, a poskytuje alternatívne zobrazenia založené na tomto zariadení. Ako všetky jarné projekty, skutočná sila Spring Mobile sa nachádza v tom, ako ľahko sa dá rozšíriť.

Vlastnosti:

  • Abstrakcia resolveru zariadenia na detekciu mobilných a tabletových zariadení na strane servera
  • Správa preferencií stránok, ktorá umožňuje používateľovi určiť, či uprednostňuje „normálny“, „mobilný“ alebo „tabletový“ zážitok
  • Prepínač webov schopný prepnúť používateľa na najvhodnejší web, buď mobilný, tabletový alebo normálny, na základe jeho zariadenia, a voliteľne označil preferenciu webu.
  • Správa pohľadov podľa zariadenia na organizáciu a správu rôznych pohľadov pre konkrétne zariadenia.

Táto vzorová aplikácia vás rýchlo naštartuje.

Pomocou Spring MVC môžete tiež zistiť zariadenie, vybaviť predvoľby webových stránok alebo poskytovať mobilný webový obsah.

4.9. Jarná dávka

Spring Batch je ľahký a komplexný rámec zameraný na umožnenie vývoja dávkových aplikácií nevyhnutných pre každodennú prevádzku podnikových systémov.

Dávkové aplikácie v tejto súvislosti odkazujú na automatizované offline systémy zamerané na hromadné spracovanie údajov. Spring Batch automatizuje túto základnú dávkovú iteráciu a poskytuje schopnosť spracovávať podobné transakcie ako sada, zvyčajne v offline prostredí bez akejkoľvek interakcie používateľa.

Spring Batch funguje tak, že zo zdroja údajov číta dáta s nastaviteľnou veľkosťou bloku, spracuje ich a nakoniec zapíše do zdroja.

Zdrojom údajov pre čítačku môžu byť ploché súbory (textový súbor, súbor XML, súbor CSV…), relačná databáza (MySQL…), MongoDB.

Podobne môže zapisovateľ zapisovať údaje do plochých súborov, relačných databáz, MongoDB, poštových služieb atď.

Začnite rýchlo vytvorením dávkovej služby a ďalšími jarnými dávkovými zdrojmi.

5. Balíky pružinových jadier

Tu sa pozrime na základné jarné balíčky.

  • org.springframework.cache - Tento balík podporuje čiastkové balíčky a triedy pre deklaratívnu správu vyrovnávacej pamäte, nastavenie medzipamäte open source v knižnici Caffeine, podporné triedy pre medzipamäť open source EhCache 2.x.

  • org.springframework.context - Tento balík vychádza z balíka beans, ktorý pridáva podporu pre zdroje správ a pre návrhový vzor Observer a schopnosť aplikačných objektov získavať zdroje pomocou konzistentného API.

  • org.springframework.core - Poskytuje základné triedy pre spracovanie výnimiek a zisťovanie verzií a ďalších základných pomocníkov, ktorí nie sú špecifickí pre žiadnu časť rámca.

  • org.springframework.expression - Tento balík poskytuje základné abstrakcie za Jarný výrazový jazyk.

  • org.springframework.http - Tento balík obsahuje základnú abstrakciu nad protokolom HTTP na strane klienta / servera.

  • org.springframework.jdbc - Triedy v tomto balíku uľahčujú používanie JDBC a znižujú pravdepodobnosť bežných chýb.
  • org.springframework.jms - Tento balík obsahuje integračné triedy pre JMS, ktoré umožňujú prístup k JMS v štýle Spring.

  • org.springframework.jndi - Triedy v tomto balíku uľahčujú používanie JNDI, uľahčujú prístup k konfigurácii uloženej v JNDI a poskytujú užitočné triedy pre prístupové triedy JNDI.

  • org.springframework.orm.hibernate5 - balík poskytujúci integráciu Hibernate 5.x s konceptmi Spring.

  • org.springframework.test.util - všeobecné triedy nástrojov na použitie v testoch jednotiek a integrácie.

Tento zoznam je obmedzený a popisuje iba základné balíčky pre jarný framework. Celý zoznam nájdete tu.

6. Záver

V tomto článku s rýchlym prehľadom sme sa pozreli na rôzne projekty, ktoré sú prítomné v jarnom ekosystéme, a vytvorili sme bohatú zbierku závislostí Maven, projekty GitHub a komplexné funkcie, ktoré každý projekt ponúka, aby boli naše webové aplikácie zabezpečené, škálovateľné a ľahko sa dali žiť s.

Pozreli sme sa tiež na základné balíčky, ktoré nám umožňujú sústrediť sa na logický aspekt našich aplikácií.


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