Používateľská náročnosť
Pre koho je kurz určený
Kurz je určený vývojárom a architektom, ktorí už ovládajú základnú tvorbu
webových aplikácií a chcú vytvárať rozsiahlejšie aplikácie nad Java EE bez
použitia EJB.
Čo vás naučíme
- poznať výhody (a nevýhody) Spring Framework v porovnaní s EJB, Google
Guice a ďalším
- zlepšiť design programov pomocou Dependency Injection (DI), Aspect
Oriented Programming (AOP)
- používať XML a anotácie (@Autowired, @Service, ...) pre definovanie
závislostí komponentov
- používať JDBC Template, Hibernate i JPA pre prístup do databázy
- deklaratívne riadiť transakcie pomocou @Transactional
- zapojiť Spring do webovej aplikácie pomocou Servletov alebo Spring MVC
Požadované vstupné znalosti
Je vhodné mať skúsenosti s webovými aplikáciami (Servletami a JSP) a je
vhodné mať prehľad o SQL a XML.
Metódy výučby
Odborný výklad s praktickými ukážkami, cvičeniami na počítačoch.
Študijné materiály
Tlačené prezentácie preberanej látky.
Osnova kurzu
Inversion of Control, Dependency Injection
- Kontajner pre komponenty (Beany)
- Definícia závislostí (Dependency Injection)
- ApplicationContext
- ResourceLoader, MessageSource
- Inicializácia komponentov, @PostConstruct
- @Autowired, @Component
- Spring XML Namespaces, NamespaceHandler
Databázy a transakcie - JDBC
- Spring a podpora javax.sql.DataSource
- DAO komponenty
- JDBC a JDBC Template
- Riadenie transakcií pomocou TransactionProxyFactoryBean
- Deklaratívne riadenie transakcií
- Java Transaction API
Databázy - JPA a Hibernate
- Prvky JPA
- Anotácie @Entity, @Id, ...
- Konfigurácia perzistencie.xml, orm.xml
- Java API - EntityManager
- PersistenceContext
- Vzťahy medzi entitami
- Lazy Loading
- Transakcie a EntityManager, LocalContainerEntityManagerFactoryBean
Integrácia s webovými knižnicami
- Webový server, balík WAR
- Servlety a JSP
- Koreňový WebApplicationContext a ServletContext
Spring MVC
- Základné princípy
- @Controller, @RequestMapping
- View a zostavenie výslednej webovej stránky
- ViewResolver
- Možnosti Spring MVC v praxi
- Validácia vstupných formulárov (JSR-303 - Bean Validation)
Spring MVC - pokročilé témy (voliteľne)
- Architektúra
- HandlerMapping, HandlerAdapter
- Internacionalizácia (I18N)
- Upload súborov
Alternatívne webové technológie (voliteľne)
- Použitie FreeMarker namiesto JSP
- Prepojenie stránok pomocou Spring Web Flow
JavaServer Faces
- ManagedBean
- Konfigurácia - Faces-config.xml
- Definícia View - Facelet
- Fáza spracovania požiadaviek
- Komponenty na stránke
- Integrácia so Spring Frameworkom (EL Resolver)
- DataTable
- CRUD a pokročilejšie techniky (REST, menej obvyklé udalosti)
Pokročilé techniky s kontejnerom (voliteľne)
- Továrenské metódy, továrenské triedy
- Bean Scope (Singleton, Prototype)
- BeanPostProcessor, BeanFactoryPostProcessor
- Inicializácia beanov
Aspektovo orientované programovanie - AOP (voliteľne)
- Koncepty AOP
- Jednoduchý aspekt
- Možnosti jazyka pointcutov
- Definícia pokročilých aspektov