Menu Zamknij

Kurs Spring Boot Backend Developer

Kurs Spring Boot Backend Developer to praktyczna ścieżka nauki nowoczesnego backendu w standardzie produkcyjnym, opartego na języku Java i frameworku Spring Boot. Nauczysz się uruchomienia aplikacji w Spring Boot, budowy i zabezpieczenia REST API, komunikacji z bazą danych, komunikacji zdarzeniowej, architektury opartej na mikroserwisach, integracji oraz wdrożenia w środowiskach chmurowych. Zbudujesz REST API z walidacją danych i globalną obsługą wyjątków. Komunikację z bazą danych zrealizujesz w Spring Data JPA i Hibernate z migracjami w Liquibase. Mikroserwisy napiszesz w architekturze heksagonalnej z Domain-Driven Design. Warstwę bezpieczeństwa oprzesz na Spring Security, JWT i OAuth2 z uwierzytelnianiem dwuskładnikowym MFA. Jakość kodu utrzymasz poprzez implementację testów. Komunikację zdarzeniową zrealizujesz przez Apache Kafka ze wzorcem CQRS oraz RabbitMQ ze wzorcem Saga. Całość domkniesz integracją z modelami AI przez Spring AI oraz wdrożeniami na Kubernetes. Zbudowane aplikacje będą obserwowalne, skalowalne  z dokumentacją wygenerowaną zgodnie ze standardami produkcyjnymi.

  • Konfiguracja i uruchomienie aplikacji Spring Boot
  • Budowa bezpiecznego REST API z prawidłową obsługą błędów
  • Walidacja danych, internacjonalizacja
  • Zdarzenia synchroniczne i asynchroniczne
  • Komunikacja z bazą danych, Spring Data JPA, Hibernate, Liquibase
  • Architektura mikroserwisowa
  • Architektura wielowarstwowa, architektura heksagonalna, DDD, transactional outbox, idempotency key, kompensacja
  • Integracja z bramką płatności
  • Bezpieczeństwo REST API, Spring Security
  • Testowanie aplikacji webowych
  • Apache Kafka i wzorzec CQRS
  • RabbitMQ i wzorzec Saga
  • Spring AI
  • Kubernetes
  • Znajomość języka Java i narzędzi do budowania aplikacji w tym języku w standardzie produkcyjnym
  • Zalecane ukończenie kursu Java Backend Developer przed rozpoczęciem tego kursu
  • Dla osób, które znają język Java na poziomie zaawansowanym i chcą budować aplikacje webowe w Spring Boot
  • Dla programistów, którzy chcą zbudować lub uporządkować wiedzę z zakresu architektury aplikacji webowych
  • Dla osób, które chcą budować aplikacje w oparciu o nowoczesny backend Java oraz Spring Boot w standardzie produkcyjnym
  • Konfiguracja i uruchomienie aplikacji Spring Boot
    Utworzysz projekt przez Spring Initializr. Dobierzesz zależności przez starters i uruchomisz aplikację jako samodzielny proces z wbudowanym serwerem. Poznasz mechanizm autokonfiguracji. Przygotujesz pierwsze endpointy REST API. Konfigurację aplikacji uporządkujesz w pliku application.yml. W trybie developmentu przygotujesz automatyczny restart. Na koniec zbudujesz i uruchomisz gotowy artefakt.
  • Warstwa webowa, REST API
    Zaczniesz od architektury aplikacji webowych, protokołu HTTP i zasad, na których opiera się REST. Następnie poznasz wzorzec MVC i zasadę działania aplikacji webowej Spring Boot. Utworzysz metody kontrolera współpracującego z serwisem oraz obsłużysz path variables i request parameters. Przygotujesz serwis do bezpiecznej wątkowo modyfikacji zasobów. Wydzielisz warstwę DTO i zaimplementujesz pełny cykl operacji na zasobie przez metody HTTP. Przechwycisz nagłówki HTTP i ciało żądania przez RequestEntity. Zbudujesz odpowiedzi przez ResponseEntity. Zwrócisz właściwy status code oraz utworzysz własne obiekty odpowiedzi i zasoby pobieralne. Zejdziesz też na poziom HttpServletRequest i HttpServletResponse oraz nauczysz się zarządzać cookies i cache. Wprowadzisz globalną i lokalną obsługę wyjątków z własnym typem opisującym błąd. Dodasz interceptory, filtry, monitorowanie zachowania aplikacji, walidację danych i internacjonalizację (i18n). Skonfigurujesz profile, obsłużysz JSON body i własne konwertery. Wykorzystasz zdarzenia synchroniczne i asynchroniczne oraz wysyłkę wiadomości email. Poznasz AOP. Zbudujesz dokumentację API przez OpenAPI. Zintegrujesz warstwę bazodanową przez JDBC. Poznasz i skonfigurujesz Spring Boot Actuator. 
  • Komunikacja z bazą danych, Spring Data JPA oraz Liquibase
    Skonfigurujesz połączenie z bazą danych. Strukturę oraz dane początkowe przygotujesz w plikach konfiguracyjnych. Zdefiniujesz encje i utworzysz repozytoria. Poznasz działanie transakcji oraz mechanizm flush i batchowania. Zarządzisz momentem zapisu i wydajnością operacji. Zapytania zbudujesz przez query methods. Bardziej złożone kryteria wyrazisz za pomocą Specification. Ograniczysz ilość pobieranych danych przez projekcje, uporządkujesz wyniki przez sortowanie i paginację oraz wykonasz zapytania modyfikujące. Problem N+1 rozwiążesz przy użyciu fetch i entity graph. Duże zbiory przejrzysz przez scrolling. Na koniec zarządzisz rozwijaniem schematu bazy za pomocą Liquibase i wersjonowanych migracji.
  • Architektura mikroserwisowa
    Przejdziesz od jednej aplikacji webowej (monolit) do architektury opartej o mikroserwisy. Zaczniesz od serwera zbudowanego w architekturze wielowarstwowej z podziałem na kontroler, serwis, repozytorium, mapper i domenę. Przygotujesz REST API do operacji CRUD z repozytorium, walidacją i warstwą DTO. Błędy uporządkujesz w jednym miejscu przez globalny exception handler oraz przygotujesz uniwersalną strukturę odpowiedzi, zgodnie ze standardem RFC 7807 Problem Details. Aplikację spakujesz do obrazu przez produkcyjny Dockerfile. Całość uruchomisz jako kontener na podstawie konfiguracji w Docker Compose. Po stronie klienta zbudujesz drugą usługę, która komunikuje się z serwerem po HTTP przy użyciu RestClient. Poznasz dwa podejścia – deklaratywny HTTP Interface z adnotacjami @HttpExchange oraz imperatywny RestClient. Zarządzisz parametrami komunikacji pomiędzy mikroserwisami. Błędy zwrócone przez serwer przetłumaczysz na wyjątki własnego typu. Kluczowym elementem dla szybkości i wydajności komunikacji będzie wdrożenie mechanizmów wspierających wirtualne wątki po stronie serwera i klienta.
  • Architektura heksagonalna, Domain-Driven Design
    Zbudujesz trzy współpracujące mikroserwisy (order-service, payment-service oraz invoice-service). Każdy z nich będzie w architekturze heksagonalnej. Model domenowy oprzesz na Domain-Driven Design (DDD). Zaprojektujesz agregaty realizujące maszynę stanów oraz obiekty wartości, w których zamkniesz reguły biznesowe. Obsłużysz koszyk, rezerwację i zwolnienie stanu magazynowego. Złożenie zamówienia zapiszesz atomowo razem z rezerwacją w magazynie w jednej transakcji. Zintegrujesz płatności z bramką płatniczą. Zarejestrujesz transakcję, obsłużysz webhooki z powiadomieniami, zweryfikujesz podpis MD5 powiadomienia i potwierdzisz płatność bezpośrednio w bramce. Zadbasz o bezpieczną realizację płatności w połączeniu z mechanizmem wirtualnych wątków. Obsługę faktur zrealizujesz przez integrację z Fakturownia API. Zdarzenia między serwisami przekażesz wzorcem transactional outbox. W ten sposób zagwarantujesz niezawodność potwierdzenia płatności i wystawienia faktury. Zadania cykliczne oprzesz na @Scheduled i rozproszonej blokadzie zrealizowanej za pomocą ShedLock. Wdrożysz odzyskiwanie osieroconych płatności oraz wygaszanie zamówienia, które zbyt długo oczekuje na płatność. Spójność danych zapewnisz przez optimistic locking, granice transakcji, idempotencję webhooków i unikalne ograniczenia w bazie. Całość uruchomisz jako kontenery przez odpowiednią konfigurację w Docker Compose. Dla każdego mikroserwisu skonfigurujesz osobne bazy danych. Ustawisz limity zasobów na pamięć i CPU, healthchecki, rotację logów oraz politykę restartów.
  • Bezpieczeństwo aplikacji webowych, Spring Security, OAuth2
    Zbudujesz trzy współpracujące mikroserwisy (user-service, auth-service oraz API Gateway). Każdy będzie w architekturze heksagonalnej. Nauczysz się odpowiednio wydzielać granicę zaufania, rozdzielać tożsamość i uwierzytelniać. Poznasz sposoby logowania przez zewnętrznych dostawców tożsamości w modelu OAuth2. W user-service przygotujesz rejestrację konta z haszowaniem hasła, sprawdzaniem unikalności nazwy i adresu email oraz potwierdzeniem rejestracji. Aktywację oprzesz o kod wysłany mailem, gdzie wysyłka biegnie asynchronicznie na wirtualnym wątku dopiero po zatwierdzeniu transakcji. Dodasz ponowne wysłanie kodu, dwuetapowy reset hasła, konfigurację MFA z sekretem TOTP i kodem QR oraz zmianę roli dostępną tylko dla administratora. Wewnętrzne endpointy udostępnisz tylko dla pozostałych usług i zabezpieczysz odpowiednim nagłówkiem. W auth-service zaimplementujesz logowanie, które weryfikuje dane w user-service przez RestClient, obsłuży ścieżkę z MFA, a następnie wystawi parę tokenów JWT. Uzupełnisz to endpointami odświeżania tokenu i wylogowania. W API Gateway skonfigurujesz odpowiedni filter i CORS. Filtrem zweryfikujesz token Bearer i zrealizujesz autoryzację. Reguły dostępu dla ścieżek publicznych, użytkownika i administratora opiszesz w konfiguracji. Gateway odczyta tożsamość z tokenu, skonfiguruje odpowiednie nagłówki, dzięki czemu klient nie podszyje się pod inną rolę. Ruch przekażesz transparentnie do usług docelowych przez RestClient z odpowiednio poprowadzoną obsługą błędów. Osobno poznasz logowanie społecznościowe przez zewnętrznych dostawców tożsamości w modelu OAuth2. Skonfigurujesz OAuth2 Login w Spring Security tak, aby użytkownik zalogował się przez Google lub GitHub. Przygotujesz własną stronę logowania i przekierowanie po udanym uwierzytelnieniu. Na koniec złożysz z tego spójną granicę zaufania, w której JWT jest weryfikowany wyłącznie na gateway i tam zostaje, a usługi downstream ufają przekazanym nagłówkom tożsamości, chronione dodatkowo siecią Docker i sekretem wewnętrznym. Efektem jest bezpieczeństwo rozproszone bez łączenia wszystkich odpowiedzialności w jednym procesie serwerowym.
  • Testowanie aplikacji webowych
    Uporządkujesz wiedzę na temat rodzajów testów i nauczysz się odpowiednio dobierać je do testowanej warstwy aplikacji. Zaczniesz od testów jednostkowych w JUnit, w których izolujesz jedną klasę, podstawiasz zależności przez Mockito i sprawdzasz wynik oraz wywołania czytelnymi asercjami AssertJ. Przejdziesz do testów wycinkowych dla warstwy webowej. Użyjesz MockMvc, podmienisz serwis na @MockitoBean i sprawdzisz odpowiedzi HTTP przez wyrażenia JsonPath. Warstwę bazodanową przetestujesz przez @DataJpaTest oraz TestEntityManager, poznając rollback transakcji między testami oraz różnicę między bazą H2 a bazą produkcyjną. Napiszesz testy integracyjne całej aplikacji, wykorzystasz profil testowy, gdzie żądanie przechodzi przez wszystkie warstwy aż do bazy i z powrotem. Prawdziwą bazę uruchomisz w kontenerze przez Testcontainers i wstrzykniesz jej parametry do konfiguracji. Zewnętrzne API zastąpisz atrapą serwera WireMock, na której zdefiniujesz odpowiedzi i zweryfikujesz wysłane żądania. Zadbasz o przetestowanie scenariuszy z błędami, idempotencją i niepełnymi odpowiedziami. Przetestujesz przetwarzanie w tle wyzwalane przez harmonogram bez czekania na upływ czasu, wywołując logikę wprost i sprawdzając stan zapisany w bazie. Na koniec rozszerzysz zestaw o testy kontraktowe, które dopilnują zgodności między stronami komunikacji oraz o testy e2e, które sprawdzą pełny przepływ przez uruchomioną aplikację.
  • Apache Kafka, wzorzec CQRS
    Zaczniesz od teorii, poznasz rolę brokera, producentów i konsumentów, topics, partycje, offsety i consumer groups. Środowisko uruchomiasz w Dockerze przez odpowiednią konfigurację Docker Compose. Przejdziesz od pojedynczego brokera do klastra wielu brokerów. Następnie zbudujesz aplikację w Spring Boot z konfiguracją gotową do pracy z Apache Kafka. Wystawiasz endpointy REST do publikacji wiadomości i uruchomisz konsumentów odbierających dane. Obsłużysz kolejno formaty String, JSON, Bytes oraz Avro ze Schema Registry. Nauczysz się mechanizmu retry, kierowania nieprzetworzonych wiadomości na Dead Letter Topic i reakcji na błędy deserializacji. Poznasz Kafka Streams i przetwarzanie strumieniowe danych. Połączysz Apache Kafka ze wzorcem CQRS na przykładzie aplikacji obsługującej biuro podróży, zbudowanej w architekturze heksagonalnej. Po stronie poleceń (command side) zamodelujesz agregaty rezerwacji, hoteli i dostępności, utrwalisz je w relacyjnej bazie danych przez JPA, skontrolujesz overbooking oraz opublikujesz zdarzenia przez transakcyjny outbox z harmonogramem, aby zapis i publikacja pozostawały spójne. Po stronie odczytu (query side) zbudujesz projekcje w MongoDB przez Spring Data MongoDB, skonsumujesz zdarzenia, wyliczysz reguły dostępności i udostępnisz gotowy model do szybkiego odczytu przez REST API.
  • RabbitMQ, wzorzec Saga
    Uruchomisz brokera z gotową topologią i panelem UI. Napiszesz producentów i konsumentów dla skonfigurowanych kolejek z dbałością o rozkład obciążenia między równoległych odbiorców. Skonfigurujesz topologię, poznasz cztery typy exchange (direct, topic, fanout i headers) i połączysz je z kolejkami przez bindings. Dodasz obsługę nieprawidłowych wiadomości przez DLX / DLQ, ustawisz TTL oraz priorytety. Zabezpieczysz publikację przez publisher confirms i returns, odbiór przez manual ack. Zbudujesz wzorzec żądanie-odpowiedź RPC, wyślesz wiadomości opóźnione przez delayed message i zapiszesz zdarzenia do bazy danych atomowo, wykorzystując wzorzec transactional outbox. Zaprojektujesz i wdrożysz rozproszoną transakcję biznesową wzorcem Saga w wariancie orkiestrowanym. Zrealizujesz proces rezerwacji złożony z trzech kroków w osobnych mikroserwisach (flight-service, hotel-service, payment-service), koordynowanych przez orkiestrator booking-service. Każdy mikroserwis dostanie własną bazę danych. Przygotujesz sekwencję lokalnych transakcji. Przy odmowie jednego z kroków rozproszonej transakcji, uruchomisz kompensację. Stan procesu poprowadzisz maszyną stanów. Kod ułożysz w architekturę heksagonalną. Komunikację między mikroserwisami poprowadzisz wyłącznie przez RabbitMQ z wymianą komend i odpowiedzi. Zdarzenia wyślesz przez wzorzec outbox. Powtórzone dostarczenia z gwarancją at-least-once zabezpieczysz idempotencją na tabeli przetworzonych wiadomości. Klientowi udostępnisz proces w modelu initiate + poll przez REST API. Wystartujesz sagę i będziesz monitorował jej stan aż do zakończenia.
  • Spring AI
    Napiszesz projekt w architekturze heksagonalnej. Zbudujesz jeden stabilny kontrakt REST API, który tłumaczy żądanie na wybranego dostawcę modelu AI. Podłączysz wielu providerów (OpenAI, Anthropic oraz dostawców zgodnych z API OpenAI). Poznasz kluczowe abstrakcje Spring AI (ChatModel, ChatClient, ChatOptions). Dowiesz się, jak monitorować zużycie tokenów i inne parametry z odpowiedzi modelu. Przygotujesz endpoint synchroniczny i strumieniowy. Wymusisz odpowiedzi strukturalne przez structured output. Streaming zrealizujesz mostkując Flux z Project Reactor na SSE (Server-Sent Events) przez SseEmitter na stacku Spring MVC. Zadbasz o bezpieczne rozłączenie klienta po skorzystaniu z modelu AI. Wykorzystasz wirtualne wątki do obsługi wielu równoległych, blokujących wywołań sieciowych. Uporządkujesz walidację żądań, mapowanie DTO, globalną obsługę błędów HTTP, obserwowalność przez Micrometer Observation i skonfigurujesz aplikację jako obraz Docker.
  • Kubernetes
    Zaczniesz od różnicy między Docker, Kubernetes i GKE (Google Kubernetes Engine). Utworzysz zarządzany klaster w chmurze Google, zrozumiesz podział na Master Node i Worker Node oraz rolę komponentów klastra, takich jak API Server, etcd, Scheduler, Controller Manager, kubelet i kube-proxy. Do pracy z klastrem użyjesz gcloud oraz kubectl. Wdrożysz aplikację Spring Boot z obrazu Dockera, najpierw poleceniami imperatywnymi, a potem deklaratywnie przez manifesty YAML. Poznasz cztery kluczowe obiekty i ich odpowiedzialności, czyli Pod, ReplicaSet, Deployment oraz Service w typach ClusterIP, NodePort i LoadBalancer. Przećwiczysz skalowanie liczby replik, aktualizacje bez przestojów w strategii RollingUpdate, rollback do wcześniejszej rewizji oraz samonaprawianie się aplikacji po usunięciu Poda. Nauczysz się porządkować zasoby za pomocą Namespace, Labels i Annotations oraz diagnozować klaster. Zbudujesz architekturę mikroserwisową złożoną z dwóch usług Spring Boot. Uruchomisz je lokalnie z Docker Compose, a następnie wdrożysz do klastra, gdzie do wykrywania usług posłuży wbudowany DNS Kubernetes. Na koniec skonsolidujesz publiczne wejście HTTP dla wielu usług pod jednym punktem dostępu, za pomocą obiektu Ingress z kontrolerem Nginx.
  • Szczegółowy wykaz nagrań
Rozpocznij naukę za 399 zł 149 zł / mies.
Promocja trwa do 30.09.2026 Ponad 163 godzin nagrań Płatność miesięczna, bez umowy Gwarancja zwrotu w 14 dni Cena zawiera VAT

Spring Boot – aplikacje webowe: co zawiera kurs?

W toku zajęć poznasz zarówno framework Spring Boot, jak i inne technologie. Bezpośrednio z frameworkiem Spring Boot związane są pojęcia, takie jak:
  • Spring Data JPA;
  • Spring Security;
  • Spring AI;
Z kolei poniższe pojęcia dotyczą patternów i mechanizmów, które są wdrażane w ramach kursu:
  • Microservices;
  • Observability;
  • Distributed Tracing;
  • Scalability;
  • Hexagonal Architecture;
  • Domain Driven Design;
  • Outbox Pattern;
  • API Gateway;
  • Thread safe, Virtual Threads.
Oprócz tego opanujesz komunikację z systemami (Kafka i RabbitMQ) i wdrożysz z ich pomocą wzorce takie jak CQRS oraz Saga. Każdy moduł łączy solidne podstawy teoretyczne z praktycznym podejściem, co pozwoli w pełni zrozumieć realne wykorzystanie technologii i przełożyć zdobyte umiejętności na konkretne działania. Oprócz tego poznasz sposoby integrowania z bazami danych, implementacji bezpieczeństwa i pracy z narzędziami takimi jak Docker, Docker Compose, Kubernetes i Git. Zdobędziesz także wiedzę o rozwiązaniach chmurowych w Google Cloud. To idealne przygotowanie do pracy w nowoczesnym środowisku IT oraz zdobycia doświadczenia, którym wyróżnisz się na rynku pracy.

Co zapewnia dostęp do kursu programowania Spring Boot?

Kurs oferuje elastyczną formułę: płacisz za jeden miesiąc nauki i korzystasz z niej tak długo, jak potrzebujesz. Masz pełne wsparcie mentora na każdym etapie uczestnictwa. W dodatku przewidziane są spotkania online i nagrania, dzięki którym utrwalisz wiedzę. Duża liczba zadań praktycznych oraz projektów umożliwia nie tylko naukę teorii, ale przede wszystkim ćwiczenie realnych scenariuszy programistycznych. W trakcie kursu możesz wziąć udział w próbnych rozmowach kwalifikacyjnych, a w razie problemów otrzymasz pomoc w dni robocze. Będziesz mieć też dostęp do Discorda, gdzie znajdziesz wskazówki dotyczące CV i portfolio. Nauczysz się nie tylko przygotowywać dokumentację, ale również pracować zgodnie z podejściem documentation as code. Po ukończeniu kursu otrzymasz certyfikat potwierdzający zdobyte umiejętności.

Spring Boot – zdobądź praktyczne umiejętności!

Kurs Spring Boot to idealne rozwiązanie nie tylko dla początkujących, ale również dla osób, które chcą usystematyzować wiedzę i poszerzyć kompetencje w zakresie aplikacji webowych. Dzięki niemu zyskasz najważniejsze kwalifikacje w zakresie:
  • projektowania;
  • implementacji;
  • utrzymania aplikacji w środowisku produkcyjnym.
Dostępny na stronie kurs przygotuje Cię do pracy w zespołach, które korzystają z nowoczesnych technologii Java i Spring. Dodatkowo motywacja i doświadczenie prowadzącego gwarantują, że nauka będzie przyjemna, dostosowana do Twojego poziomu i celów. Nawet jeśli nie wiesz, od czego zacząć – wspólnie znajdziemy najlepszą ścieżkę rozwoju. Nie czekaj i skorzystaj z kompleksowej oferty! Dowiedz się także, co obejmuje kurs Java i dlaczego warto się na niego zapisać.