Java - Spring Framework

Spring 5, Spring Boot 2, Data, Web, Dependency Injection, AOP, Security, Hibernate, JUnit, Mockito, AssertJ, Maven

Java - Spring Framework
Java - Spring Framework

Java - Spring Framework udemy course

Spring 5, Spring Boot 2, Data, Web, Dependency Injection, AOP, Security, Hibernate, JUnit, Mockito, AssertJ, Maven

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).

  1. Stawiamy projekt od zera, korzystając ze startera aplikacji Spring Boot - szybki start, żeby pokazać jak szybko "coś już działa"

  2. Przechodzimy przez pierwszą, działającą wersję (Rest Repositories) - większe zrozumienie tego, co mamy

  3. Przerabiamy na "klasyczne" klasy @RestController

  4. Konfigurujemy, korzystamy z plików properties, YAML oraz różnych profilów - początek dokładnego omawiania Springa, kawałek po kawałku

  5. Łączymy się z relacyjną bazą danych, wykorzystujemy bazodanowe migracje

  6. Omawiamy mapowanie obiektowo-relacyjne (ORM), korzystamy z frameworka Hibernate oraz Spring Data

  7. Zgłębiamy springowe wstrzykiwanie zależności - kluczowa rzecz w Springu

  8. Korzystamy z narzędzi do pisania testów: JUnit 5, Mockito, AssertJ, MockMvc

  9. Patrzymy na wykorzystanie narzędzi Filter, Interceptor oraz CompletableFuture w kontrolerach

  10. Tworzymy szablony, korzystając z silnika Thymeleaf, patrzymy o co chodzi w Spring MVC

  11. Adresujemy wymagania niefunkcjonalne - metryki i logowanie - przy pomocy AOP (Aspect-Oriented Programming)

  12. Rozszerzamy możliwości naszego systemu w oparciu o obsługę zdarzeń

  13. 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.