Java - Spring Framework
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
Requirements
- Znajomość języka Java
- Podstawowe rozumienie aplikacji webowych, klient-serwer
- Podstawowe rozumienie protokołu HTTP
- Podstawowe rozumienie aplikacji wielowarstwowych
Description
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.
Who this course is for:
- Dla nieznających Springa, chcących się go nauczyć
- Dla znających Springa, ale np. pobieżnie, chcących zgłębić temat
- Dla zainteresowanych wstrzykiwaniem zależności i odwróceniem kontroli
- Dla szukających informacji np. o programowaniu zorientowanym aspektowo
Instructor
Software Engineer and IT Trainer, focused on front-end and integration technologies, with a relevant full-stack experience.
Since 2013 I've been making a living by programming. Additionally, I teach how to code in a programming school.
I also share my knowledge at meetups, job fairs and conferences.
Not only a tech geek, but also Dragon Ball, MMA and Frightful 5 strategies fan.
=====
Początkowo nastawiony na front-end, ostatnie lata w obszarze integracji systemów, a tak naprawdę inżynier oprogramowania i programista full-stack. Od 2013 roku zarabiam na życie kodem. Dodatkowo, jestem trenerem w jednej ze szkół programowania.
Staram się dzielić wiedzą i doświadczeniem również podczas meetupów, targów i konferencji.
Oprócz programowania i dzielenia się wiedzą, pasjonuje się jeszcze MMA, Dragon Ballem, strategiami wielkich firm.