Presentation is loading. Please wait.

Presentation is loading. Please wait.

Spring framework.

Similar presentations


Presentation on theme: "Spring framework."— Presentation transcript:

1 Spring framework

2 Poskytuje komplexnú podporu pre infraštruktúry pre vývoj Java aplikácií
Spracováva infraštruktúru a programátor sa môže sústrediť na svoju aplikáciu

3 Inversion of Control (IOC)
Usporiadanie základných stavebných kameňov do súvislého celku Zaoberá sa problémom dependency injection Predstavuje formálne návrhové vzory ako objekty tried Možnosť integrácie do vlastných aplikácii Spôsob návrhu pre robustne aplikácie

4

5 AOP – Aspect oriented programming
iný spôsob myslenia o štruktúre programu Komponenty – Komponent ak môže byť čisto zapúzdrený v generalizovanom procese Aspekty - Aspekt, ak nemôže byť čisto zapuzdrený vo všeobecnom postupe. poskytujú deklaratívne podnikové služby, najmä ako náhradu za deklaratívne služby EJB. Najdôležitejšou takouto službou je deklaratívne riadenie transakcií umožňujú používateľom implementovať vlastné aspekty, ktoré dopĺňajú ich používanie OOP s AOP

6 Data Access/Integration
Modul spring-tx podporuje programové a deklaratívne riadenie transakcií pre triedy, ktoré implementujú špeciálne rozhrania a pre všetky vaše POJOs (Plain Old Java Objects). Modul spring-oxm poskytuje abstrakčnú vrstvu, ktorá podporuje Implementáciu mapovania Object / XML, ako napríklad JAXB, Castor, XMLBeans, JiBX a XStream. Modul spring-jms (Java Messaging Service) obsahuje funkcie na vytváranie a spracovanie správ. Od Spring framework 4.1 poskytuje integráciu s spring-messaging modulom

7 JDBC • JdbcTemplate je klasický Spring JDBC prístup a najpopulárnejší. Tento prístup "najnižšej úrovne"   • NamedParameterJdbcTemplate rozširuje JdbcTemplate a poskytne pomenované parametre namiesto tradičného JDBC "?" . Tento prístup poskytuje lepšiu dokumentáciu a jednoduchšie používanie, ak máte viacero parametrov pre príkaz SQL • SimpleJdbcInsert a SimpleJdbcCall optimalizujú metadáta databázy na obmedzenie množstva potrebnej konfigurácie. Tento prístup zjednodušuje kódovanie, takže stačí uviesť názov tabuľky alebo postupu a poskytnúť mapu parametrov zodpovedajúcich názvom stĺpcov. Toto funguje len vtedy, ak databáza poskytuje primerané metadáta. Ak databáza neposkytuje tieto metadáta, budete musieť poskytnúť explicitnú konfiguráciu parametrov. • Objekty RDBMS vrátane súborov MappingSqlQuery, SqlUpdate a StoredProcedure  Vyžaduje, aby ste počas inicializácie vrstvy prístupu k údajom vytvorili opakovane použiteľné a bezpečné podprocesy. Tento prístup je modelovaný po zadaní dotazu JDO, v ktorom definujete reťazec dotazu, deklarujete parametre a zostavíte dotaz. Akonáhle to urobíte, spúšťač metódy možno volať viackrát s rôznymi hodnotami parametrov.

8

9

10

11

12 Object Relational Mapping (ORM)
podpora integrácie s nástrojmi Hibernate, Java Persistence API (JPA) a Java Data Objects (JDO) pre správu zdrojov, implementácie dátového objektu (DAO) a transakčné stratégie vytvára významné vylepšenia vo vrstve ORM, ktorú si vyberiete pri vytváraní aplikácií na prístup k dátam Výhody: Jednoduchšie testovanie Spoločné výnimky pre prístup k dátam Správa všeobecných zdrojov Integrované riadenie transakcií

13 Hibernate

14 Konfigurácia - XML

15 Konfigurácia - anotácie

16 JPA 3 spôsoby ako vytvoriť EntityManagerFactory JPA na získanie správy entity LocalEntityManagerFactoryBean vytvorí EntityManagerFactory vhodnú pre jednoduché prostredie nasadenia, kde aplikácia používa iba JPA na prístup k dátam

17 Získanie EntityManagerFactory od JNDI – záležitosť zmeny konfigurácie
LocalContainerEntityManagerFactoryBean - plná kontrola nad konfiguráciou EntityManagerFactory - najsilnejšia možnosť nastavenia JPA persistence.xml

18 Spring Web Model-View-Controller
navrhnutý v rámci DispatcherServlet, ktorý odosiela požiadavky na obsluhu, konfigurovateľné mapovanie handlerov, rozlíšenie zobrazenia, miestne nastavenie, časové pásmo a rozlíšenie tém, ako aj podporu pri nahrávaní súborov. Default handler je založený na ktoré ponúkajú širokú škálu flexibilných metód manipulácie. predstavuje programovanie založené na anotácii pre riadiace jednotky MVC, ktoré používajú anotácie a tak ďalej. Kontrolery implementované v tomto štýle nemusia rozšíriť špecifické základné triedy ani implementovať špecifické rozhrania. Okrem toho nemajú zvyčajne priame závislosti na serverových rozhraniach Servlet alebo Portlet, hoci môžete jednoducho nakonfigurovať prístup k Servlet alebo portletovým zariadeniam.

19

20

21 Zobrazenie - views Spring poskytuje riešenia na zobrazenie, ktoré umožňuje vykresliť modely v prehliadači bez toho, aby vás viazali na konkrétnu technológiu zobrazenia. Spring vám umožňuje používať napríklad JSPs, Velocity šablóny a XSLT pohľady. 2 dôležité interfaces sú ViewResolver a View ViewResolver poskytuje mapovanie medzi názvami zobrazení a skutočnými zobrazeniami View sa zaoberá príprave žiadosti a žiadosť odovzdá na jednu z technológií zobrazenia

22 View technologies Thymeleaf – configurácia nie je poskytovaná Springom
Údaje má uložené v kontextových premenných s rovnakým názvom Rôzne spôsoby na pridávanie týchto atribútov: addAttribute ModelAndView

23 @ModelAttribute Request parameters
eally%3F

24 Groovy Markup Templates - primárne zameraný na vytváranie značiek XML (XML, XHTML, HTML5, ...), ale môže sa použiť na generovanie akéhokoľvek textového obsahu Velocity & FreeMarker JSP & JSTL XML Marshalling View - vykreslenie obsahu ako XML Tiles XSLT - transformačný jazyk pre XML JasperReports - vytváranie návrhov správ pomocou ľahko zrozumiteľného formátu XML, je schopný vykresliť správy v štyroch rôznych formátoch: CSV, Excel, HTML a PDF Feed Views JSON Mapping View – vykreslenie obsahu získaného z JSON XML Mapping View – vykreslenie obsahu získaného z XML

25 WebSocket Spring Framework 4 obsahuje nový spring-messaging modul s komplexnou podporou WebSocket. Je kompatibilný so štandardným Java WebSocket API (JSR-356) a poskytuje aj niečo naviac poskytuje podporu pre používanie protokolu STOMP - jednoduchý protokol na odosielanie správ pôvodne vytvorený na použitie v skriptovacích jazykoch s rámcami inšpirovaným protokolom HTTP. Spoločnosť STOMP je široko podporovaná a vhodná na používanie cez WebSocket aj cez web

26 služba WebSocket momentálne nie je podporovaná vo všetkých prehliadačoch a môže byť vylúčená obmedzujúcimi sieťovými proxy servermi. To je dôvod, prečo Spring poskytuje záložné možnosti, ktoré emulujú WebSocket API čo najbližšie podľa protokolu SockJS (verzia 0.3.3) Cieľom aplikácie SockJS je umožniť aplikáciám používať rozhranie WebSocket API, ale v prípade potreby spadnúť do alternatív, ktoré nie sú WebSocket, a to bez potreby zmeny kódu aplikácie. SockJS pozostáva z: • Protokol SockJS definovaný vo forme spustiteľných rozprávaných testov. • Klient JavaScript SockJS - klientská knižnica pre použitie v prehliadačoch. • implementácie servera SockJS vrátane jedného v rámci Spring Framework spring-websocket modul • Od 4.1 spring-websocket tiež poskytuje klient SockJS Java.

27 Všetky požiadavky na prenos majú nasledujúcu štruktúru adresy URL:
http: // host: port / myApp / myEndpoint / {server-id} / {session-id} / {transport} {server id}  - užitočné pre smerovanie požiadaviek v klastri, ale nepoužíva sa inak. {session id}  - koreluje požiadavky HTTP patriace do session SockJS {transport}  - označuje typ transportu, napr. "Websocket", "xhr- streamovanie" atď.

28

29

30 STOMP Protokol WebSocket definuje dva typy správ, textové a binárne, ale ich obsah je nedefinovaný. Očakáva sa, že klient a server sa môžu dohodnúť na použití podprotokolu (t. J. Protokolu vyššej úrovne) na definovanie sémantiky správ. Zatiaľ čo použitie subprotokolu s WebSocket je úplne nepovinné, tak klient aj server sa budú musieť dohodnúť na nejakom type protokolu, ktorý pomôže interpretovať správy. STOMP je jednoduchý textovo orientovaný protokol zasielania správ, ktorý bol pôvodne vytvorený pre skriptovacie jazyky ako Ruby, Python a Perl. Je určený na riešenie podmnožiny bežne používaných vzorov správ. Môže sa používať na akomkoľvek spoľahlivom protokole sieťových protokolov, ako sú protokoly TCP a WebSocket. Hoci STOMP je textovo orientovaný protokol, užitočné zaťaženie správ môže byť textovo alebo binárne

31

32

33 Ďakujem za pozornosť


Download ppt "Spring framework."

Similar presentations


Ads by Google