Spring framework
Czas trwania szkolenia:5 dni (40h)
Kod kursu:SPRING
Poziom zaawansowania:
O szkoleniu Spring framework
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
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
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
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
Program
Wprowadzenie do Spring
- Charakterystyka frameworku
- Najważniejsze wzorce i praktyki wykorzystywane w Spring
- Tworzenie i konfigurowanie projektu
- Praca z dokumentacją
Kontener Spring
- Idea inwersji kontroli (IoC) oraz wstrzykiwanie zależności
- Działanie i odpowiedzialność kontenera
- Konfiguracja z użyciem adnotacji oraz JavaConfig
- Komponenty zarządzane – tworzenie, definiowanie zasięgu oraz zależności, cykl życia
- Event bus i programowanie przez zdarzenia
Podstawy programowania aspektowego
- Najważniejsze koncepcje, zasada działania i zastosowanie AOP
- Tworzenie, konfigurowanie i użycie aspektów
- Przechwytywanie argumentów wejściowych oraz wyników / wyjątków z metod
Warstwa dostępu do danych
- 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
- Wprowadzenie do mapowania obiektowo-relacyjnego i standardu JPA
- Integracja z JPA i frameworkiem Hibernate
- Tworzenie warstwy utrwalania z użyciem Spring Data
Warstwa webowa i usługi REST
- Wprowadzenie do Spring MVC
- Założenia architektury REST
- Tworzenie i konfigurowanie kontrolerów
- Obsługa wyjątków
- Obiekty transferowe i mapowanie między warstwami
- Integracja z frameworkami webowymi
- Dokumentacja API z wykorzystaniem SpringDoc/OpenAPI
- Thymeleaf - tworzenie widoków, obsługa formularzy, walidacja, internacjonalizacja
Spring Boot
- Przeznaczenie, możliwości, zasada działania
- Budowanie i uruchamianie aplikacji
- Klasy konfiguracyjne, auto konfiguracja, modyfikacja ustawień domyślnych
- Narzędzia developerskie
Testowanie
- Wprowadzenie do testowania jednostkowego i biblioteki JUnit
- Obiekty zastępcze z wykorzystaniem biblioteki Mockito
- Testy jednostkowe na poziomie repozytoriów, usług i kontrolerów
- Testy integracyjne
- Dobre praktyki
Wprowadzenie do 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