Spring framework / Spring Boot
Czas trwania szkolenia:5 dni (40h)
Kod kursu:SPRING
Poziom zaawansowania:
O szkoleniu Spring framework / Spring Boot
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Programistów pragnących poznać framework Spring w stopniu umożliwiającym jego samodzielne wykorzystanie
- Programistów chcących tworzyć skalowalne i łatwe w utrzymaniu aplikacje, z wykorzystaniem najnowszej wersji Spring framework
- Programistów przygotowujących się do certyfikacji Spring, chcących powtórzyć i uporządkować posiadaną wiedzę
Wymagania
- Praktyczna umiejętność programowania w języku Java
- Elementarna wiedza z zakresu technologii wchodzących w skład Jakarta EE
- Podstawowa znajomość SQL i relacyjnych baz danych
Zalety
- Szkolenie stanowi kompleksowe wprowadzenie do Spring framewok z naciskiem na dobre praktyki związane z jego wykorzystaniem
- Szkolenie "Spring framework" prowadzone jest w formie warsztatu, w ramach którego realizowany jest jeden duży projekt
Cele szkolenia
- Wprowadzenie i gruntowne poznanie możliwości frameworku
- Zrozumienie i przyswojenie idiomów programistycznych wykorzystywanych w Spring m.in. wstrzykiwanie zależności, programowanie aspektowe
- Opanowanie Spring framework w stopniu umożliwiającym jego zastosowanie w realnym projekcie
- Poznanie najważniejszych modułów wchodzących w skład Spring framework
- Zdobycie wiedzy pozwalającej na testowanie aplikacji Spring na poziomie jednostkowym oraz integracyjnym
- Poznanie metod integracji Spring z innymi technologiami
Program
Podstawy Spring framework
- Charakterystyka frameworku
- Wzorce i praktyki wykorzystywane w Spring
- Idea inwersji kontroli oraz wstrzykiwanie zależności
- Działanie i rola kontenera
- Komponenty zarządzane – tworzenie, konfigurowanie, cykl życia (adnotacje, JavaConfig)
- Architektura aplikacji oraz poprawna organizacja kodu i komponentów w projekcie
Programowanie aspektowe
- Koncepcje, zasada działania i zastosowanie AOP
- Mechanizmy tworzenia obiektów proxy - Java dynamic proxies vs. CGLIB
- Implementowanie, konfigurowanie i zastosowanie aspektów
Spring Boot
- Przeznaczenie, możliwości, zasada działania
- Budowanie i uruchamianie aplikacji
- Klasy konfiguracyjne, auto konfiguracja, modyfikacja ustawień domyślnych
- Narzędzia developerskie
Warstwa utrwalania
- Konfigurowanie połączenia do bazy danych
- Menadżer transakcji - zasada działania, dostępne implementacje
- Parametry transakcji - propagacja, reguły wycofywania, poziom izolacji, czas ważności
- Konfigurowanie mechanizmu transakcyjnego
- Integracja z JPA i frameworkiem Hibernate
- Tworzenie warstwy utrwalania z użyciem Spring Data
- Wykonywanie zapytań (DSL, adnotacje, zapytania przez przykłady i z wykorzystaniem specyfikacji)
- Projekcje
- Kontrola ładowania danych z Entity Graphs
- Rozszerzanie funkcjonalności repozytoriów
- Spring Data i nierelacyjne bazy danych na przykładzie MongoDB
Usługi REST
- Założenia architektury REST
- Wprowadzenie do Spring MVC
- Tworzenie i konfigurowanie kontrolerów
- Obiekty transferowe oraz mapowanie modelu danych między warstwami
- Obsługa wyjątków
- Dokumentacja API z wykorzystaniem SpringDoc/OpenAPI
Spring Security
- Architektura i najważniejsze elementy projektu
- Konfiguracja mechanizmów uwierzytelniania i autoryzacji dostępu na poziomie warstwy webowej oraz komponentów
- Bezpieczeństwo usług REST - tokeny JWT, OAuth2, Keycloak
Testowanie
- Wprowadzenie do testowania jednostkowego oraz biblioteki JUnit
- Obiekty zastępcze z wykorzystaniem biblioteki Mockito
- Testy jednostkowe na poziomie repozytoriów, usług i kontrolerów
- Testy integracyjne
- Dobre praktyki
Integracja
- Wysyłanie / odbieranie komunikatów JMS
- Integracja z serwerem Kafka
- Wysyłanie wiadomości email
- Zarządzanie zadaniami (scheduling)
- Metody asynchroniczne
- Wykorzystanie pamięci podręcznej na przykładzie Redis oraz Hazelcast
- WebSockets, SockJS i protokół STOMP