Tworzenie aplikacji webowych z wykorzystaniem Spring Framework

Adresaci szkolenia
Programiści Java pragnący nabyć umiejętność programowania z wykorzystaniem frameworku Spring. Jako że szkolenie jest przekrojowe, może z powodzeniem służyć programistom wykorzystującym framework w codziennej pracy, pragnącym usystematyzować wiedzę i/lub uzupełnić braki, dogłębniej poznać inne obszary frameworka.
Cel szkolenia
Celem szkolenia jest nabycie praktycznych umiejętności programowania z wykorzystaniem frameworku Spring. Uczestnicy nabędą praktycznej wiedzy jak poprawnie przygotować projekt (konfigurację XML lub Java), jak wykorzystać wstrzykiwania zależności (Kontener IoC), zaawansowane techniki AOP, jak testować aplikacje (poszczególne warstwy komponentów jak i aplikację jako całość),
jak integrować poszczególne warstwy w aplikacji web lub z wykorzystaniem usług web (webservice’ów).

Wymagania
Od uczestników szkolenia wymagana jest umiejętność programowania w języku Java.

Program szkolenia
Wprowadzenie do Springa
• Zadania postawione przed Spring Framework
• Kontrola tworzenia obiektów
• Tworzenie aplikacji internetowych
• Wsparcie dla trwałości danych
• Integracja z innymi bibliotekami
• Krótki przegląd środowiska STS
Spring Framework Core
• Programowanie z wykorzystaniem komponentów
• Spring jako fabryka
• Inversion of control
• Konfiguracja za pomocą pliku XML

Dzień 1
• Alternatywna konfiguracja z użyciem adnotacji
• Programistyczne korzystanie z fabryki
• Singletony i prototypy
• Inicjalizacja stanu początkowego obiektu
Wstrzykiwanie zależności (Dependency Injection)
• Koncepcja wstrzykiwania zależności
• Składanie obiektów
• Automatyczna konfiguracja (autowiring)
• Kolejność tworzenia obiektów
• Cykl życia obiektów
• Zdarzenia kontenera
Aspekty
• Sposób działania oraz typy aspektów
• Dołączenie aspektów do aplikacji
• Przygotowanie i konfiguracja porad
• Definiowanie punktów przecięcia
Transakcje
• ACID i właściwości transakcji
• Transakcja po stronie bazy danych a transakcją aplikacji
• Automatyczne zarządzanie transakcjami
• Transakcje deklaratywne
• Programistyczne zarządzanie transakcjami wykorzystując TransactionTemplate
Trwałość danych
• Konfiguracja bazy danych
• Wzorzec DAO i jego zastosowanie w architekturze warstwowej
• Użyteczne sposoby korzystania ze źródeł danych w Springu
• Baza danych bez JPA
• Usługa jdbcTemplate
• Proste mapowania obiektowo relacyjne (MappingSqlQuery)
Hibernate (JPA)
• Koncepcja mapowania relacyjno-obiektowego

Dzień 2
• Podstawy mapowania
• Przegląd JPA
• Mapowania oparte o POJO
• Konfiguracja SessionFactory
• Parametry konfiguracji
Hibernate w praktyce
• Interfejs Session i jego zadania
• Operacje CRUD
• Mapowanie klas – klasy encji
• Konfiguracja poprzez adnotacie
• Generatory identyfikatorów
• Typy wbudowane Hibernate
• Cykl życia obiektu trwałego
Hibernate zaawansowany
• Wprowadzenie do Hibernate Query Language
• Interfejs Query
• Tworzenie i używanie zapytań
• Zapytania nazwane, projekcje i agregaty
• Zapytania poprzez kryteria (Criteria API)
• Przegląd transakcji
• Hibernate Transaction API
• Blokowanie optymistyczne i wersjonowanie
• Implementacja metod hashcode() i equals()
• Wydajność
Spring MVC – ogólna charakterystyka
• Po co nam n-ty framework webowy ?
• Architektura Spring MVC
• Budowa aplikacji Spring MVC
Podstawy Spring MVC
• Konfigurowanie kontenera Spring w aplikacji webowej
• Tagi Spring MVC

Dzień 3

Obsługa żądań
• Obsługa formularzy
• Obsługa wyjątków
Zaawansowane możliwości Spring MVC
• Lokalizowanie aplikacji
• Budowanie widoków w oparciu o szablony
• Generowanie odpowiedzi innej niż HTML
• Walidacja danych – JSR 303 i mechanizmy Spring
• Testowanie aplikacji opartej o Spring MVC
• Konfiguracje aplikacji webowej dla środowiska developerskiego, testowego i produkcyjnego

Zapytaj o szkolenie