Další vlastnosti Springu Moduly Springu. Spring Framework. Pavel Mička. Pavel Mička Spring Framework 1/18

Podobné dokumenty
Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Spring framework 2.0. Roman Pichlík CZJUG

Spring Framework Handout

KIV/PIA 2013 Jan Tichava

Základy Guice Vazby Scopes. Google Guice. základní seznámení s frameworkem Google Guice

Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links

Vybrané partie z jazyka Java Spring a Enterprise JavaBeans (EJB)

IoC/DI. Tomáš Herceg Microsoft MVP (ASP.NET)

Tvorba informačních systémů

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Návrhové vzory Tvorba objektů

PA165: Úvod do Java EE. Petr Adámek

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Podpora aplikační logiky v J2EE aplikačních rámcích

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Web Services na SOAP

UJO Framework. revoluční architektura beans. verze

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

(Enterprise) JavaBeans. Lekce 7

Softwarové komponenty a Internet

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Enterprise Java Beans 3.0

GWT pro pokročilé. MoroSystems, s.r.o. Pavel Klobása. Senior Java Developer.

Multiplatformní osobní organizér v jazyce Java

JAVA. Aspekty (AOP) AspectJ

[ASP].NET Core Demystified. Miroslav Holec. Konzultant a lektor [ASP].NET Core.

Jak na IoC/DI kontejnery

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Spring portfolio. Tomáš Krátký

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

SPECIFIKACE PŘEDMĚTU PLNĚNÍ

Co je nového v Java EE 6

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

OSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Technologie Java. Jaroslav Žáček

HMI * nad webovými technologiemi

Platformy / technologie. Jaroslav Žáček

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

Ruby on Rails: zapomeňte na Javu

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Session Beans. Petr Aubrecht CA. Vtipy budou tentokrát o krizi:

Využití EJB 3.0 při tvorbě podnikových aplikací

Architektura aplikace

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15

Úvod do Entity Frameworku

Quo vadis programování? Automatizace vyhodnocování studentských úloh

Technologie JavaBeans

Principy objektově orientovaného programování

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

Nové předměty z oblasti softwarového vývoje na FIM UHK

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Internetové technologie na platformě JAVA. Miroslav Hrúz

Java a Caché IV: Manipulace s objekty

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

SOAP & REST služby. Rozdíly, architektury, použití

1 - Úvod do platformy.net. IW5 - Programování v.net a C#

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Databáze v Java aplikacích, JPA Handout

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

Kurz Databáze. Přechod na SQL server. Obsah. Vytvoření databáze. Lektor: Doc. Ing. Radim Farana, CSc.

Tvorba informačních systémů

IRAE 07/08 Přednáška č. 1

Základy objektové orientace I. Únor 2010

Vývoj multiplatformní aplikace v Qt

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Jak správně na Hibernate. Martin Hlavatý

Dědění, polymorfismus

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

FG Forrest, a.s. Jan Novotný. Automatické testování v praxi 2.

Programování v Javě I. Leden 2008

MVVM pro desktop i web

Obsah přednášky. Technologie. Enterprise Java Beans. Enterprise Java Beans. EJB kontejner. Enterprise Java Beans (EJB)

Portál pro doučování

WPA - Konfigurace Java EE aplikace (Maven, struktura war arch. kontejnerem Tomcat 8

PREPROCESOR POKRAČOVÁNÍ

Technologie Java. Jaroslav Žáček

Teoretické minimum z PJV

Distribuované systémy a výpočty

Tvorba informačních systémů

Sem vložte zadání Vaší práce.

Analýza a Návrh. Analýza

X33EJA Enterprise Java

Úvod do Groovy pro Java experty

Proč Angular JS framework?

Motivační příklad reálný svět. výroba (assembly line)

<Insert Picture Here> Vývoj portálových řešení v Javě

DPKOM_06 Dědičnost entit a zpětná volání posluchači

ZABEZPEČENÍ A ARCHITEKTURA SPRÁVCE IPTV

Architektura, design, konstrukce

Transkript:

Spring Framework Pavel Mička Pavel Mička Spring Framework 1/18

Obsah Úvod 1 Úvod 2 Service locator Dependency injection Rozsah platnosti bean 3 4 Pavel Mička Spring Framework 2/18

Co je to Spring framework Inversion of control/dependency injection container Open source Convention over configuration POJO based (zabraňuje vendor lock-inu) Nezávislý na konkrétním paradigmatu Snadno integrovatelný s mnoha frameworky a knihovnami Neinvazivní Je kontejnerem sám o sobě (nevyžaduje aplikační server) Lze použít pro desktopové i webové aplikace Pavel Mička Spring Framework 3/18

Co je to Spring framework Inversion of control/dependency injection container Open source Convention over configuration POJO based (zabraňuje vendor lock-inu) Nezávislý na konkrétním paradigmatu Snadno integrovatelný s mnoha frameworky a knihovnami Neinvazivní Je kontejnerem sám o sobě (nevyžaduje aplikační server) Lze použít pro desktopové i webové aplikace Pavel Mička Spring Framework 3/18

Co je to Spring framework Inversion of control/dependency injection container Open source Convention over configuration POJO based (zabraňuje vendor lock-inu) Nezávislý na konkrétním paradigmatu Snadno integrovatelný s mnoha frameworky a knihovnami Neinvazivní Je kontejnerem sám o sobě (nevyžaduje aplikační server) Lze použít pro desktopové i webové aplikace Pavel Mička Spring Framework 3/18

Co je to Spring framework Inversion of control/dependency injection container Open source Convention over configuration POJO based (zabraňuje vendor lock-inu) Nezávislý na konkrétním paradigmatu Snadno integrovatelný s mnoha frameworky a knihovnami Neinvazivní Je kontejnerem sám o sobě (nevyžaduje aplikační server) Lze použít pro desktopové i webové aplikace Pavel Mička Spring Framework 3/18

Co je to Spring framework Inversion of control/dependency injection container Open source Convention over configuration POJO based (zabraňuje vendor lock-inu) Nezávislý na konkrétním paradigmatu Snadno integrovatelný s mnoha frameworky a knihovnami Neinvazivní Je kontejnerem sám o sobě (nevyžaduje aplikační server) Lze použít pro desktopové i webové aplikace Pavel Mička Spring Framework 3/18

Co je to Spring framework Inversion of control/dependency injection container Open source Convention over configuration POJO based (zabraňuje vendor lock-inu) Nezávislý na konkrétním paradigmatu Snadno integrovatelný s mnoha frameworky a knihovnami Neinvazivní Je kontejnerem sám o sobě (nevyžaduje aplikační server) Lze použít pro desktopové i webové aplikace Pavel Mička Spring Framework 3/18

Co je to Spring framework Inversion of control/dependency injection container Open source Convention over configuration POJO based (zabraňuje vendor lock-inu) Nezávislý na konkrétním paradigmatu Snadno integrovatelný s mnoha frameworky a knihovnami Neinvazivní Je kontejnerem sám o sobě (nevyžaduje aplikační server) Lze použít pro desktopové i webové aplikace Pavel Mička Spring Framework 3/18

Co je to Spring framework Inversion of control/dependency injection container Open source Convention over configuration POJO based (zabraňuje vendor lock-inu) Nezávislý na konkrétním paradigmatu Snadno integrovatelný s mnoha frameworky a knihovnami Neinvazivní Je kontejnerem sám o sobě (nevyžaduje aplikační server) Lze použít pro desktopové i webové aplikace Pavel Mička Spring Framework 3/18

Co je to Spring framework Inversion of control/dependency injection container Open source Convention over configuration POJO based (zabraňuje vendor lock-inu) Nezávislý na konkrétním paradigmatu Snadno integrovatelný s mnoha frameworky a knihovnami Neinvazivní Je kontejnerem sám o sobě (nevyžaduje aplikační server) Lze použít pro desktopové i webové aplikace Pavel Mička Spring Framework 3/18

Spring vs. EJB Úvod Pavel Mička Spring Framework 4/18

Dependency injection motivace Service locator Dependency injection Rozsah platnosti bean public class BookService { private BookDao bookdao = new BookDaoSqlImpl(); private OwnerDao ownerdao = new OwnerDaoSqlImpl(); private HashProvider hashprovider = new Sha1HashProvider();... } Závislost třídy BookService na implementacích dílčích služeb Výměna Sql implementací DAO objektů by vyžadovala přepis všech inicializací v programu Časově náročné a náchylné k chybám Pavel Mička Spring Framework 5/18

Dependency injection motivace Service locator Dependency injection Rozsah platnosti bean public class BookService { private BookDao bookdao = new BookDaoSqlImpl(); private OwnerDao ownerdao = new OwnerDaoSqlImpl(); private HashProvider hashprovider = new Sha1HashProvider();... } Závislost třídy BookService na implementacích dílčích služeb Výměna Sql implementací DAO objektů by vyžadovala přepis všech inicializací v programu Časově náročné a náchylné k chybám Pavel Mička Spring Framework 5/18

Dependency injection motivace Service locator Dependency injection Rozsah platnosti bean public class BookService { private BookDao bookdao = new BookDaoSqlImpl(); private OwnerDao ownerdao = new OwnerDaoSqlImpl(); private HashProvider hashprovider = new Sha1HashProvider();... } Závislost třídy BookService na implementacích dílčích služeb Výměna Sql implementací DAO objektů by vyžadovala přepis všech inicializací v programu Časově náročné a náchylné k chybám Pavel Mička Spring Framework 5/18

Service locator Úvod Service locator Dependency injection Rozsah platnosti bean public class BookService { private ServiceLocator locator = ServiceLocator.getInstance(); private BookDao bookdao = locator.get("bookdao" ); private OwnerDao ownerdao = locator.get(" ownerdao"); private HashProvider hashprovider = locator.get ("hashprovider");... } Aplikace je nezávislá na konkrétních implementacích služeb Vznikla však závislost na implementaci service locatoru Pavel Mička Spring Framework 6/18

Dependency injection I. Service locator Dependency injection Rozsah platnosti bean public class BookService { private BookDao bookdao; private OwnerDao ownerdao; private HashProvider hashprovider; public void setbookdao(bookdao bookdao){ this.bookdao = bookdao; } public void setownerdao(ownerdao ownerdao){...} public void sethashprovider(hashprovider hashprovider){...}... } Kdo bude inicializovat závislosti? Pavel Mička Spring Framework 7/18

Dependency injection II. Service locator Dependency injection Rozsah platnosti bean Životní cyklus je řízen externím kontejnerem Kontejner zajistí, že daná instance bude mít nastavenou správnou implementaci Tomuto principu se říká Dependency injection Druhým použitým principem je Inversion of control Programovaná aplikace je v roli knihovny Řízení toku zajišt uje framework Hollywood principle don t call us, we ll call you Pavel Mička Spring Framework 8/18

Dependency injection II. Service locator Dependency injection Rozsah platnosti bean Životní cyklus je řízen externím kontejnerem Kontejner zajistí, že daná instance bude mít nastavenou správnou implementaci Tomuto principu se říká Dependency injection Druhým použitým principem je Inversion of control Programovaná aplikace je v roli knihovny Řízení toku zajišt uje framework Hollywood principle don t call us, we ll call you Pavel Mička Spring Framework 8/18

Dependency injection II. Service locator Dependency injection Rozsah platnosti bean Životní cyklus je řízen externím kontejnerem Kontejner zajistí, že daná instance bude mít nastavenou správnou implementaci Tomuto principu se říká Dependency injection Druhým použitým principem je Inversion of control Programovaná aplikace je v roli knihovny Řízení toku zajišt uje framework Hollywood principle don t call us, we ll call you Pavel Mička Spring Framework 8/18

Dependency injection II. Service locator Dependency injection Rozsah platnosti bean Životní cyklus je řízen externím kontejnerem Kontejner zajistí, že daná instance bude mít nastavenou správnou implementaci Tomuto principu se říká Dependency injection Druhým použitým principem je Inversion of control Programovaná aplikace je v roli knihovny Řízení toku zajišt uje framework Hollywood principle don t call us, we ll call you Pavel Mička Spring Framework 8/18

Dependency injection II. Service locator Dependency injection Rozsah platnosti bean Životní cyklus je řízen externím kontejnerem Kontejner zajistí, že daná instance bude mít nastavenou správnou implementaci Tomuto principu se říká Dependency injection Druhým použitým principem je Inversion of control Programovaná aplikace je v roli knihovny Řízení toku zajišt uje framework Hollywood principle don t call us, we ll call you Pavel Mička Spring Framework 8/18

Dependency injection II. Service locator Dependency injection Rozsah platnosti bean Životní cyklus je řízen externím kontejnerem Kontejner zajistí, že daná instance bude mít nastavenou správnou implementaci Tomuto principu se říká Dependency injection Druhým použitým principem je Inversion of control Programovaná aplikace je v roli knihovny Řízení toku zajišt uje framework Hollywood principle don t call us, we ll call you Pavel Mička Spring Framework 8/18

Dependency injection II. Service locator Dependency injection Rozsah platnosti bean Životní cyklus je řízen externím kontejnerem Kontejner zajistí, že daná instance bude mít nastavenou správnou implementaci Tomuto principu se říká Dependency injection Druhým použitým principem je Inversion of control Programovaná aplikace je v roli knihovny Řízení toku zajišt uje framework Hollywood principle don t call us, we ll call you Pavel Mička Spring Framework 8/18

XML-based injection Úvod Service locator Dependency injection Rozsah platnosti bean <bean id="mydatasource" class="org.apache.commons. dbcp.basicdatasource" destroy-method="close"> <property name="driverclassname" value="com.mysql.jdbc.driver"/> <property name="url" value="jdbc:mysql:// localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="masterkaoli"/> </bean> Beana dané třídy má pro dané vlastnosti setter Odkazovat lze jak hodnoty, tak kolekce, tak jiné Spring beany Umožňuje ze od jedné třídy vytvořit mnoho různých instancí Setter injection je používána zejména pro konfiguraci aplikace a integraci dalších technologíı Pavel Mička Spring Framework 9/18

XML-based injection Úvod Service locator Dependency injection Rozsah platnosti bean <bean id="mydatasource" class="org.apache.commons. dbcp.basicdatasource" destroy-method="close"> <property name="driverclassname" value="com.mysql.jdbc.driver"/> <property name="url" value="jdbc:mysql:// localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="masterkaoli"/> </bean> Beana dané třídy má pro dané vlastnosti setter Odkazovat lze jak hodnoty, tak kolekce, tak jiné Spring beany Umožňuje ze od jedné třídy vytvořit mnoho různých instancí Setter injection je používána zejména pro konfiguraci aplikace a integraci dalších technologíı Pavel Mička Spring Framework 9/18

XML-based injection Úvod Service locator Dependency injection Rozsah platnosti bean <bean id="mydatasource" class="org.apache.commons. dbcp.basicdatasource" destroy-method="close"> <property name="driverclassname" value="com.mysql.jdbc.driver"/> <property name="url" value="jdbc:mysql:// localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="masterkaoli"/> </bean> Beana dané třídy má pro dané vlastnosti setter Odkazovat lze jak hodnoty, tak kolekce, tak jiné Spring beany Umožňuje ze od jedné třídy vytvořit mnoho různých instancí Setter injection je používána zejména pro konfiguraci aplikace a integraci dalších technologíı Pavel Mička Spring Framework 9/18

XML-based injection Úvod Service locator Dependency injection Rozsah platnosti bean <bean id="mydatasource" class="org.apache.commons. dbcp.basicdatasource" destroy-method="close"> <property name="driverclassname" value="com.mysql.jdbc.driver"/> <property name="url" value="jdbc:mysql:// localhost:3306/mydb"/> <property name="username" value="root"/> <property name="password" value="masterkaoli"/> </bean> Beana dané třídy má pro dané vlastnosti setter Odkazovat lze jak hodnoty, tak kolekce, tak jiné Spring beany Umožňuje ze od jedné třídy vytvořit mnoho různých instancí Setter injection je používána zejména pro konfiguraci aplikace a integraci dalších technologíı Pavel Mička Spring Framework 9/18

Constructor injection Úvod Service locator Dependency injection Rozsah platnosti bean <bean id="exmplbean" class="examples.exmplbean"> <constructor-arg> <ref bean="anotherexamplebean"/> </constructor-arg> <constructor-arg ref="yetanotherbean"/> <constructor-arg type="int" value="1"/> </bean> Obdoba setter injection, která používá konstruktor pro nastavení vlastností Nejméně používaná Pavel Mička Spring Framework 10/18

Metadata injection Úvod Service locator Dependency injection Rozsah platnosti bean @Component("MovieRecommender") @Scope("request") public class MovieRecommender { @Autowired private ApplicationContext context; } public MovieRecommender() {}... Nejčastěji používaná pro třídy aplikace Omezuje redundanci kód konfigurace Pavel Mička Spring Framework 11/18

Metadata injection Úvod Service locator Dependency injection Rozsah platnosti bean @Component("MovieRecommender") @Scope("request") public class MovieRecommender { @Autowired private ApplicationContext context; } public MovieRecommender() {}... Nejčastěji používaná pro třídy aplikace Omezuje redundanci kód konfigurace Pavel Mička Spring Framework 11/18

Rozsahy platnosti bean Service locator Dependency injection Rozsah platnosti bean Kontejner zajišt uje omezenou platnost jednotlivých bean (scope) Singleton jedna instance na aplikaci (výchozí platnost) Prototype vždy nová instance Session instance vázaná na HTTP session (web) Request instance vázaná na HTTP request (web) Spring umožňuje definici vlastních rozsahů Typicky použito ve spolupráci s webovým frameworkem (JSF2 flash scope...) Pavel Mička Spring Framework 12/18

@Configurable I. Občas není možné, aby Spring spravoval životní cyklus beany, ale přesto vyžadujeme injekci závislostí Integrace frameworků, které na to nejsou apriori připraveny JPA entity jsou vytvářeny JPA frameworkem a Spring proto o jejich existenci neví Dle OOP paradigmatu je objekt množina dat a operací (operace obvykle vyžadují spolupráci více objektů) Problém řeší anotace @Configurable, která označuje objekty mimo rozsah Spring kontejneru, které mají být injektovány Realizováno pomocí instrumentace bytekódu (aspect weaving) Load-Time weaving (java agent) Compile-time weaving (aspect compiler) Pavel Mička Spring Framework 13/18

@Configurable II. @Configurable(preConstruction=true) @Entity @Table(name="users") public class User { @Column(length=40, nullable=false) private String password; @Column(length=40, nullable=false) private String salt; @Autowired private transient HashProvider provider;... public void setpassword(string password) { this.password = provider.computehash( password + salt + "/* long string */"); } } Pavel Mička Spring Framework 14/18

Deklarativní demarkace transakcí public interface UserService { @Transactional(readOnly=true) public List<UserDTO> getallusers(); @Transactional public UserDTO saveuser(userdto user, String password); @Transactional(readOnly=true) public UserDTO getuserbyusername(string name); @Transactional public void deleteuser(long id);... } Transakce mohou být deklarovány pomocí anotací Transakční API je nezávislé na konkrétní implementaci Pavel Mička Spring Framework 15/18

Deklarativní zabezpečení metod @Transactional(propagation=Propagation.REQUIRED) public interface UserService { @Secured("ROLE_ADMIN") public UserDTO save(userdto userdto, String password, Boolean isadmin, Boolean iseditor );... } @Secured("ROLE_ADMIN") public void removebyid(long id); Autorizace přístupu k metodám pomocí anotací Pavel Mička Spring Framework 16/18

Vybrané moduly Springu Spring Core jádro frameworku Spring AOP podpora aspektového programování Spring ORM integrace s JPA Spring MVC MVC webový framework Spring Test podpora testování Spring Security zabezpečení aplikace Spring Social podpora sociálních sítí Spring Integration integrace aplikací ve velkém Pavel Mička Spring Framework 17/18

Vybrané moduly Springu Spring Core jádro frameworku Spring AOP podpora aspektového programování Spring ORM integrace s JPA Spring MVC MVC webový framework Spring Test podpora testování Spring Security zabezpečení aplikace Spring Social podpora sociálních sítí Spring Integration integrace aplikací ve velkém Pavel Mička Spring Framework 17/18

Vybrané moduly Springu Spring Core jádro frameworku Spring AOP podpora aspektového programování Spring ORM integrace s JPA Spring MVC MVC webový framework Spring Test podpora testování Spring Security zabezpečení aplikace Spring Social podpora sociálních sítí Spring Integration integrace aplikací ve velkém Pavel Mička Spring Framework 17/18

Vybrané moduly Springu Spring Core jádro frameworku Spring AOP podpora aspektového programování Spring ORM integrace s JPA Spring MVC MVC webový framework Spring Test podpora testování Spring Security zabezpečení aplikace Spring Social podpora sociálních sítí Spring Integration integrace aplikací ve velkém Pavel Mička Spring Framework 17/18

Vybrané moduly Springu Spring Core jádro frameworku Spring AOP podpora aspektového programování Spring ORM integrace s JPA Spring MVC MVC webový framework Spring Test podpora testování Spring Security zabezpečení aplikace Spring Social podpora sociálních sítí Spring Integration integrace aplikací ve velkém Pavel Mička Spring Framework 17/18

Vybrané moduly Springu Spring Core jádro frameworku Spring AOP podpora aspektového programování Spring ORM integrace s JPA Spring MVC MVC webový framework Spring Test podpora testování Spring Security zabezpečení aplikace Spring Social podpora sociálních sítí Spring Integration integrace aplikací ve velkém Pavel Mička Spring Framework 17/18

Vybrané moduly Springu Spring Core jádro frameworku Spring AOP podpora aspektového programování Spring ORM integrace s JPA Spring MVC MVC webový framework Spring Test podpora testování Spring Security zabezpečení aplikace Spring Social podpora sociálních sítí Spring Integration integrace aplikací ve velkém Pavel Mička Spring Framework 17/18

Vybrané moduly Springu Spring Core jádro frameworku Spring AOP podpora aspektového programování Spring ORM integrace s JPA Spring MVC MVC webový framework Spring Test podpora testování Spring Security zabezpečení aplikace Spring Social podpora sociálních sítí Spring Integration integrace aplikací ve velkém Pavel Mička Spring Framework 17/18

Zdroje a literatura SpringSource http://www.springsource.org/ Spring Framework dokumentace http://static.springsource.org/spring/docs/3.1.x/ spring-framework-reference/html/ Spring 3 a Maven http://blog.springsource.org/2009/12/02/ obtaining-spring-3-artifacts-with-maven/ Pavel Mička Spring Framework 18/18