Menu Zamknij

Kurs Java Backend Developer

Praktyczny kurs programowania Java KM Programs to kompleksowe szkolenie online, które uczy budowania aplikacji backendowych w standardzie produkcyjnym. Poznajesz Javę na poziomie projektów komercyjnych, wzorce projektowe, testy, framework Spring, wielowątkowość oraz pracę z bazami danych w JDBI i JPA / Hibernate.

5,0 średnia z 200+ opinii

  • Ponad 233 godziny nagrań
  • 9 modułów kursu
  • Nauka w swoim tempie
  • Projekty i zadania

Opis kursu

Kurs stworzony przez Krzysztofa Makowskiego prowadzi od fundamentów języka Java do architektury, którą wykorzystujesz w nowoczesnym backendzie produkcyjnym. Poznajesz Javę w takiej wersji, w jakiej używa się jej w projektach komercyjnych: wzorce projektowe, budowanie projektu w Maven, testy, framework Spring, przetwarzanie danych w różnych formatach, wielowątkowość oraz praca z bazami danych. To kompletna ścieżka, po której samodzielnie projektujesz, budujesz i uruchamiasz gotowe aplikacje w Javie.

  • Projekty o czytelnej strukturze: model domenowy, podział na pakiety i warstwy, logika w serwisach, wzorce projektowe
  • Kompletny projekt na frameworku Spring: dane z plików JSON i XML, walidacja, raporty wysyłane e-mailem, cache, testy i gotowy artefakt
  • Aplikacje bazodanowe z JDBI i JPA / Hibernate, z generyczną warstwą repozytoryjną i testami integracyjnymi na Testcontainers
  • Java na poziomie projektów komercyjnych: programowanie obiektowe, kolekcje, Stream API, Optional, wyrażenia lambda, typy generyczne, refleksja
  • Wzorce projektowe GoF: kreacyjne, strukturalne i behawioralne, pokazane na praktycznych przykładach
  • Budowanie projektu w Maven: pom.xml, cykl budowania, zależności, BOM, pluginy, Lombok, Apache Commons
  • Testy jednostkowe: JUnit 5, TDD, BDD, AssertJ, Mockito, pokrycie kodu testami w JaCoCo
  • Framework Spring: Dependency Injection, Inversion of Control, konfiguracja, profile, SpEL, AOP
  • Przetwarzanie danych JSON i XML: Gson, DOM, SAX, StAX, JAXB, walidacja i konwersja do modelu domenowego
  • Wielowątkowość i asynchroniczność: synchronizacja, ExecutorService, ForkJoinPool, CompletableFuture, Virtual Threads
  • Bazy danych: SQL w MySQL, JDBI, JPA / Hibernate, testy integracyjne z Testcontainers
  1. Programowanie w języku JavaTypy danych, instrukcje warunkowe, pętle, metody, tablice, String i regex, wyjątki, operacje na plikach tekstowych, zarządzanie pamięcią (GC). Programowanie obiektowe, klasy, obiekty, hermetyzacja, dziedziczenie, polimorfizm, interfejsy. Kolekcje, mapy, Stream API, Optional, wyrażenia lambda, referencje do metod, typy generyczne, refleksja.
  2. Pierwsze projektyBudowa gotowych projektów jeszcze przed rozpoczęciem używania narzędzia Maven. Projektowanie modelu domenowego, podział na pakiety i warstwy, mapowanie i transformacja danych, analiza wyników i statystyk, organizacja logiki w serwisach.
  3. Wzorce projektoweWzorce projektowe GoF, kreacyjne (Singleton, Factory Method, Builder, Prototype, Abstract Factory), strukturalne (Adapter, Proxy, Facade, Decorator, Composite, Bridge, Flyweight) i behawioralne (Observer, Strategy, Command, Visitor, Mediator, Iterator, State, Chain of Responsibility, Memento, Template Method). Wykorzystanie wzorców w praktycznych przykładach.
  4. MavenBudowanie projektu w standardzie produkcyjnym, plik konfiguracyjny pom.xml, Maven Coordinates, build lifecycles, dependencies, scopes, Maven Wrapper, repozytoria local / central / remote, BOM, pluginy. Instalacja za pomocą Maven i omówienie możliwości bibliotek takich jak Lombok, Apache Commons.
  5. Testowanie aplikacjiProjektowanie warstwy testowej aplikacji. JUnit 5, TDD, BDD, Hamcrest, AssertJ, testy parametryzowane, dynamiczne i zagnieżdżone, JUnit Extensions, Tags. Mockito, mocki, spy, verify, Given-When-Then. Pokrycie kodu testami i raportowanie o wyniku testów z wykorzystaniem JaCoCo.
  6. Framework SpringDependency Injection, Inversion of Control, kontekst Spring, konfiguracja ręczna i automatyczna, adnotacje, bean lifecycle, scope komponentów, profile, wstrzykiwanie konfiguracji, SpEL, AOP.
  7. Kompletny projekt w standardzie produkcyjnymKomunikacja z plikami przechowującymi dane w formatach JSON i XML, Gson, DOM, SAX, StAX, JAXB. Kompletny projekt oparty na frameworku Spring. Pobieranie i walidacja danych, konwersja do modelu domenowego. Generowanie i wysyłanie raportów wiadomością e-mail. Mechanizm cache, testowanie aplikacji. Zbudowanie i uruchomienie gotowego artefaktu w standardzie produkcyjnym.
  8. Wielowątkowość, asynchroniczność i programowanie równoległeWątek, Runnable, cykl życia wątku, synchronizacja, volatile, wait, notify. Problemy wielowątkowości – race conditions, deadlock, livelock, starvation. Wzorzec producent-konsument, ExecutorService, ForkJoinPool, Callable / Future, kolekcje współbieżne, CompletableFuture, parallel streams, Virtual Threads. Komunikacja z API w wariancie synchronicznym i asynchronicznym.
  9. Bazy danych i aplikacje bazodanowe (SQL, ORM, JPA / Hibernate)Pełny warsztat pracy z bazą danych. Nauka SQL w oparciu o MySQL, modelowanie tabel, typy danych, constraints, CRUD, JOIN, agregacje, relacje, transakcje, widoki, natural ID, indeksy, window functions, CTE, temporary tables, zmienne, triggery, stored routines. Komunikacja aplikacji z bazą danych z wykorzystaniem biblioteki JDBI, transakcje, batching, testy integracyjne z wykorzystaniem Testcontainers. ORM z wykorzystaniem JPA / Hibernate, mapowanie encji i relacji, cykl życia encji, JPQL, strategie dziedziczenia, locking, audytowanie. Budowa generycznej warstwy repozytoryjnej w standardzie produkcyjnym.

Szczegółowy wykaz nagrań (otwiera się w nowej karcie)

Dla programistów, którzy mają już doświadczenie i chcą poszerzyć stack o Javę albo uporządkować to, czego używają w pracy. To także dobry start dla osób, które dopiero zaczynają programować.

  • Pracujesz jako programista i chcesz poznać Javę albo uzupełnić luki w tym, co już w niej piszesz
  • Potrzebujesz uporządkowanej ścieżki, żeby zmienić albo poszerzyć stack, na przykład z Pythona na Javę
  • Idziesz w stronę backendu i aplikacji webowych, w których Java jest fundamentem pod Spring Boot
  • Chcesz wykorzystywać zaawansowane mechanizmy Javy: wielowątkowość, asynchroniczność, typy generyczne, refleksję
  • Dopiero zaczynasz programować i szukasz kursu, który otwierają moduły podstawowe

Wiedzę z tego kursu wykorzystujesz potem w mentoringu 1:1, gdzie projektujesz i wdrażasz własną aplikację pod okiem mentora. Wszystkie kursy są w cenie mentoringu.

Kurs otwierają moduły podstawowe, więc wchodzisz w niego z dowolnego poziomu i zaczynasz od tego, czego jeszcze nie znasz.

  • Programujesz w innym języku: przez moduły podstawowe przechodzisz szybko, bo opierasz się na tym, co już umiesz
  • Znasz podstawy Javy: pomijasz początkowe moduły i zaczynasz od wzorców projektowych, narzędzia Maven i testów
  • Dopiero zaczynasz programować: przechodzisz kurs po kolei, od pierwszego modułu

Po tym kursie możesz przejść do kursu Spring Boot Backend Developer, który wymaga znajomości Javy. Oba kursy masz w dostępie do wszystkich kursów, bez dodatkowych opłat.

PromocjaJeden wybrany kurs od teraz 149 zł/mies.Wszystkie kursy teraz 199 zł/mies.

Więcej o kursie Java

Nauka Javy w backendzie – dlaczego warto?

Java to jeden z najczęściej używanych języków w backendzie. Piszesz w niej aplikacje serwerowe, aplikacje bazodanowe oraz systemy przetwarzające duże ilości danych. Java jest też fundamentem pod Spring Boot, na którym buduje się aplikacje webowe i mikroserwisy. Mój kurs programowania Java prowadzi przez trzy rodzaje aplikacji, które spotykasz w projektach komercyjnych:

  • aplikacje o czytelnej strukturze z modelem domenowym, podziałem na pakiety i warstwy oraz logiką w serwisach
  • aplikacje na frameworku Spring, które przetwarzają dane z plików JSON i XML
  • aplikacje bazodanowe z warstwą repozytoryjną w JDBI oraz JPA / Hibernate

Kurs Java Online jest przeznaczony przede wszystkim dla programistów, którzy chcą poszerzyć stack o Javę albo uporządkować to, czego już w niej używają. Jeśli programujesz w innym języku, szybko przechodzisz przez moduły podstawowe. Jeśli znasz podstawy Javy, pomijasz początkowe moduły i zaczynasz od wzorców projektowych, narzędzia Maven i testów. Szukasz kursu Java od podstaw? Kurs otwierają moduły podstawowe, więc przechodzisz go po kolei, zaczynając od pierwszego modułu.

Czego nauczysz się na kursie Java online?

Kurs Java online stawia na praktykę. Każde rozwiązanie jest pokazane krok po kroku w nagraniach, a Ty realizujesz zadania praktyczne oraz kompletne projekty. Nauczysz się:

  • programować obiektowo z użyciem kolekcji, Stream API, Optional, wyrażeń lambda, typów generycznych i refleksji
  • stosować wzorce projektowe GoF: kreacyjne, strukturalne i behawioralne
  • budować i konfigurować projekt w Maven
  • testować aplikacje jednostkowo i integracyjnie
  • tworzyć aplikacje we frameworku Spring
  • przetwarzać dane w formatach JSON i XML
  • pisać kod wielowątkowy, asynchroniczny i równoległy
  • pracować z bazą danych MySQL przez JDBI oraz JPA / Hibernate

Poznajesz biblioteki i narzędzia, których używa się w projektach komercyjnych: Spring, Maven, Lombok, Apache Commons, JUnit 5, Mockito, AssertJ, JaCoCo, Gson, JAXB, JDBI, Hibernate, Testcontainers. Kompletny projekt budujesz na frameworku Spring i uruchamiasz jako gotowy artefakt w standardzie produkcyjnym. Gotowe projekty możesz umieścić na GitHubie jako portfolio.

Sprawdź również kurs Spring Boot Backend Developer. Wymaga on znajomości Javy, więc ten kurs dobrze do niego przygotowuje.

Kurs programowania Java – jakie kompetencje zdobędziesz?

Po kursie piszesz w Javie kod na poziomie projektów komercyjnych. Samodzielnie projektujesz, budujesz i uruchamiasz aplikacje, od modelu domenowego po artefakt gotowy do wdrożenia. W praktyce oznacza to, że:

  • projektujesz model domenowy i dzielisz aplikację na pakiety i warstwy
  • stosujesz wzorce projektowe, takie jak Builder, Factory Method, Strategy, Observer i Decorator
  • zarządzasz zależnościami, pluginami i cyklem budowania projektu w Maven
  • piszesz testy w podejściu TDD i BDD, korzystasz z mocków i mierzysz pokrycie kodu w JaCoCo
  • konfigurujesz kontekst Spring, komponenty i profile oraz stosujesz Dependency Injection i AOP
  • parsujesz i walidujesz dane JSON i XML oraz konwertujesz je do modelu domenowego
  • generujesz raporty, wysyłasz je wiadomością e-mail i korzystasz z mechanizmu cache
  • rozwiązujesz problemy wielowątkowości: race conditions, deadlock, livelock i starvation
  • korzystasz z ExecutorService, CompletableFuture i Virtual Threads oraz komunikujesz się z API synchronicznie i asynchronicznie
  • projektujesz tabele i relacje, piszesz zapytania z JOIN, CTE oraz funkcjami okna, tworzysz triggery i procedury składowane
  • obsługujesz transakcje i operacje wsadowe (batching) w JDBI
  • mapujesz encje i relacje w JPA / Hibernate, piszesz zapytania JPQL, stosujesz strategie dziedziczenia, blokowanie i audytowanie
  • budujesz generyczną warstwę repozytoryjną i testujesz ją integracyjnie z Testcontainers

Jakie jeszcze korzyści zapewnia kurs Javy?

Kurs to ponad 233 godziny nagrań w 9 modułach. Uczysz się w swoim tempie, bez stałych terminów. Masz dostęp do nagrań 24/7 i wracasz do każdego materiału, kiedy potrzebujesz. Pytania zadajesz w społeczności kursantów. Po ukończeniu kursu otrzymujesz certyfikat.

Płacisz miesięcznie, bez umowy. Masz 14 dni gwarancji zwrotu. Możesz wybrać sam ten kurs albo pakiet 7 kursów: Python, Java, JS/TS, C++ oraz narzędzia AI. Pakiet obejmuje też kurs Spring Boot Backend Developer, więc kolejny etap nauki masz bez dodatkowych opłat.

Jeśli chcesz zbudować własną aplikację pod okiem mentora, wybierz mentoring 1:1. Projektujesz w nim i wdrażasz własny projekt, każdy etap przechodzi code review, a wszystkie kursy są w cenie.

Poznaj inne kursy KM Programs