Szkolenie: Spring framework / Spring Boot
Podczas szkolenia uczestnicy poznają Spring, czyli uniwersalny, niezwykle wszechstronny i najpopularniejszy framework wykorzystywany na platformie Java. Nauczą się stosować jego najważniejsze elementy w codziennej pracy.
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:5 dni (40h)
Kod kursu:SPRING
Spring framework / Spring Boot
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
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ę
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
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
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
Program szkolenia
Podstawy Spring framework
Wprowadzenie/charakterystyka frameworku
Spring jako kontener inwersji kontroli
Komponenty zarządzane – tworzenie, konfigurowanie, cykl życia
Aspekty - zasada działania, zastosowanie, przykłady użycia
Publikowanie i nasłuchiwanie zdarzeń w kontenerze
Architektura aplikacji oraz właściwa organizacja kodu w projekcie
Spring framework vs. Spring Boot
Wykorzystanie dokumentacji
Warstwa utrwalania
Konfigurowanie połączenia do bazy danych
Transakcyjność - menadżer transakcji oraz dostępne adaptery, parametry transakcji (izolacja, propagacja, reguły wycofywania, czas ważności)
Praktyczna integracja z JPA/Hibernate
Warstwa utrwalania z użyciem projektu Spring Data
Wykonywanie zapytań (DSL, adnotacje, zapytania przez przykłady i specyfikację, projekcje, asynchroniczność)
Kontrola ładowania danych z wykorzystaniem Entity Graphs
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
Walidacja danych wejściowych z wykorzystaniem Bean Validation
Obsługa wyjątków na poziomie kontrolerów oraz aplikacji
Dokumentowanie API
Spring Boot
Tworzenie i konfigurowanie projektu
Klasy konfiguracyjne, auto konfiguracja, modyfikacja ustawień domyślnych
Narzędzia deweloperskie
Budowanie obrazów natywnych
Spring Security
Wyjaśnienie podstawowych terminów m.in. uwierzytelnienie, autoryzacja dostępu, integralność i poufność danych
Przegląd najważniejszych komponentów Spring Security oraz omówienie procesu uwierzytelniania i autoryzacji
Konfiguracja bezpieczeństwa na poziomie warstwy webowej oraz komponentów Spring
Nagłówki związane z bezpieczeństwem oraz CORS
Ochrona przed Cross Site Request Forgery (CSRF)
Bezpieczeństwo usług REST - tokeny JWT, protokół OpenID/OAuth2, integracja z Keycloak oraz innymi dostawcami
Testowanie
Wprowadzenie do testowania jednostkowego oraz biblioteki JUnit
Obiekty zastępcze z wykorzystaniem biblioteki Mockito
Testy jednostkowe na poziomie repozytoriów, usług oraz kontrolerów
Testy integracyjne
Dobre praktyki
Integracja
Zarządzanie zadaniami (scheduling)
Metody asynchroniczne
Wysyłanie/odbieranie komunikatów JMS
Integracja z serwerem Kafka
Wysyłanie wiadomości email
Wykorzystanie pamięci podręcznej na przykładzie Redis oraz Hazelcast
WebSockets, SockJS i protokół STOMP
Wprowadzenie do Spring AI