What you'll learn:
- Zrozumiesz jak budować aplikacje webowe ze Springiem
- Zobaczysz jak wstrzykiwać zależności
- UÅ‚atwisz sobie pracÄ™, wykorzystujÄ…c Spring Boota
- Poznasz narzędzia wspomagające testowanie aplikacji
- Zgłębisz temat łączenia się z relacyjnymi bazami danych
- Poznasz zaawansowane zaganienia, jak Aspect Oriented Programming, zdarzenia
Kurs koncentruje się na części servletowej frameworka Spring. Nie tłumaczę tutaj protokołu HTTP albo architektury wielowarstwowej. Zakładam, że uczestnik ma tego typu podstawy (np. przerobił inne kursy, może nawet moje).
Stawiamy projekt od zera, korzystając ze startera aplikacji Spring Boot - szybki start, żeby pokazać jak szybko "coś już działa"
Przechodzimy przez pierwszą, działającą wersję (Rest Repositories) - większe zrozumienie tego, co mamy
Przerabiamy na "klasyczne" klasy @RestController
Konfigurujemy, korzystamy z plików properties, YAML oraz różnych profilów - początek dokładnego omawiania Springa, kawałek po kawałku
Łączymy się z relacyjną bazą danych, wykorzystujemy bazodanowe migracje
Omawiamy mapowanie obiektowo-relacyjne (ORM), korzystamy z frameworka Hibernate oraz Spring Data
Zgłębiamy springowe wstrzykiwanie zależności - kluczowa rzecz w Springu
Korzystamy z narzędzi do pisania testów:JUnit 5, Mockito, AssertJ, MockMvc
Patrzymy na wykorzystanie narzędzi Filter, Interceptor oraz CompletableFuture w kontrolerach
Tworzymy szablony, korzystając z silnika Thymeleaf, patrzymy o co chodzi w Spring MVC
Adresujemy wymagania niefunkcjonalne - metryki i logowanie - przy pomocy AOP (Aspect-Oriented Programming)
Rozszerzamy możliwości naszego systemu w oparciu o obsługę zdarzeń
Zabezpieczamy system korzystając z Keycloaka (Identity Provider, OpenID, OAuth 2.0, RBAC) i Spring Security
Na początku kursu chodzi o szybkie "wyklikanie" aplikacji, która jakoś działa (sam REST). Z czasem, w następnych sekcjach wszystko jest rozkładane na czynniki pierwsze i tłumaczone - warstwa po warstwie (konfiguracja, bazy danych, ORM, DI, testy, kontrolery, szablony, AOP, zdarzenia, security). Docelowo powstaje aplikacja z interfejsem graficznym, logowaniem użytkownika, korzystająca z bazy danych.
W kursie znajduje sięjużponad 350 pytań uczestników. Na wszystkie udzieliłem odpowiedzi osobiście.