Spring framework.

Slides:



Advertisements
Similar presentations
OpusCollege and the use of Spring and iBatis
Advertisements

J2EE Lecture 6: Spring – IoC and Dependency Injection
INTRANSNET Contract No. G7RT-CT
Požiadavky na hardvér a možnosti použitia jednotlivých OS Windows
Example Bullet Point Slide
Predstavenie Sféra, s.r.o. založená v r. 1992
Jaroslava Husarovičová Miroslav Kubovčík Microsoft Slovakia s.r.o.
Bakalárska práca Webová výuka programovania v C++ pomocou jednotkového testovania Školiteľ: František Gyárfáš Viliam Vakerman.
Inteligentné mapy Marek Doršic.
VOĽNE DOSTUPNÝ REFERENČNÝ MANAŽÉR
Prečo šimpanzy nevedia rozprávať?
MuZIKÁL Andrea Ratkošová 2.A.
Zálohovanie a archivácia
Operačné systémy Čo robí operačný systém ?
BEZPEČNOSŤ DATABÁZ Bezpečnosť informačných systémov
Geografický informačný systém
Domény a DNS.
RIZIKÁ PRI REALIZOVANÍ PROJEKTU
Doc. Ing. Ladislav Hudec, CSc.
Vývoj a druhy počítačov
Prednáška 5. PACS SYSTÉMY
Web of Science – pokročilé vyhľadávanie vedeckej literatúry a jej analýza Enikő Tóth Szász Customer Education Specialist
DATABÁZOVÉ JAZYKY.
Bezpečnosť databázových systémov
Produktivita vývoja nad SQL Server 2008 Miroslav Kubovčík
Bezpečnosť JAVA technológií
Databázový systém pre malý a veľký podnik
Yulia Šurinová "There is always a better way; it should be found."
Modul 5: Cabling LANs and WANs.
Makrá v PowerPointe Joshua Lajčiak.
CUSTODEA iniciatíva a open source platforma pre kultúrny sektor
Communicating over the Network
Schémy financovania v 7RP
Modelom riadený vývoj Peter Grec
Človek vo sfére peňazí ročník.
Porozumenie obrazu Sonka, Hlavac, Boyle: Image Processing, Analysis and Machine vision, kapitola: Image understanding.
7. prednáška 3. november 2003.
Protokoly HTTP a FTP.
„Nástroje pre integráciu
Vlastnosti kvantitatívnych dát
Ing. Róbert Chovanculiak, Ph.D. INESS
História vzniku internetu
Šifrovanie Dešifrovanie
Počítačové siete a ich modely
Ako manažovať smartfóny z cloudu TechDays East 2014
Dvojrozmerné polia Kód ITMS projektu:
Lokálne príznaky vo farebných obrazoch
22. – OTVORENÝ PRÍSTUP
PRACOVNÉ PROSTREDIE PRI PRÁCI S POČÍTAČMI Z HĽADISKA ERGONÓMIE
Servio as a Service Service desk z Telekom cloudu
Dynamické webové stránky
Vývoj softvéru na NEzelenej lúke
Heuristické optimalizačné procesy
REACH 2018 Nájdite svojich spoluregistrujúcich a pripravte sa na spoločnú registráciu.
Ing. Anita Sáreníková/ Cvičenia z aplikovanej informatiky
komercia vs. dokonalosť
INFORMATION AND COMMUNICATION TECHNOLOGY IN SECONDARY EDUCATION
4. Užívateľské prostredie UNIXu
Veľkosť trhu agentúrnych zamestnancov
De Bonových 6 klobúkov myslenia
Seminár č. 9 - osnova Metódy sieťového plánovania a riadenia:
Workshop DSpace 5, VŠB-TUO,
Ponúkame: poradenstvo technickú podporu - help desk školenia
Interaktívna kniha a e-learningový systém pre deti - Opera nehryzie
SQL Structured Query Language
Neformálne ekonomické fórum 3. marec 2011
D Novinky v DSpace 6 Ivan Masár 6.
Inkrementálne učenie na konvolučných neurónových sieťach
Využitie biomasy v environmentálnych biotechnológiách
Podpora adaptívneho WEB-u prostriedkami strojového učenia
Presentation transcript:

Spring framework

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

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

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

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

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.

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í

Hibernate

Konfigurácia - XML

Konfigurácia - anotácie

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

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

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 anotáciách @Controller a @RequestMapping, 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 ako @RequestMapping, @RequestParam, @ModelAttribute 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.

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

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

@ModelAttribute Request parameters https://example.com/query?q=Thymeleaf%20Is%20Great!&q=R eally%3F

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

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

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.

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ď.

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

Ďakujem za pozornosť