Spring Framework - szkolenie kompleksowe

Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Program szkolenia
- Spring container
- Wzorzec odwróconego sterowania i wstrzykiwanie zależności:
Kluczowa koncepcja zarządzania zależnościami między komponentami. - Kontekst aplikacyjny i kontener Spring'a:
Środowisko zarządzające cyklem życia i konfiguracją obiektów. - Konfiguracja XML oraz adnotacyjna:
Różne podejścia do konfigurowania komponentów i ich zależności. - Cykl życia komponentów:
Proces tworzenia, inicjalizacji i niszczenia komponentów Spring. - Automatyczne wiązania:
Mechanizmy automatycznego kojarzenia zależności. - Spring Expression Language:
Język wyrażeń do dynamicznego ustawiania wartości w komponentach.
- Wzorzec odwróconego sterowania i wstrzykiwanie zależności:
- Programowanie Aspektowe - Spring AOP
- Założenia AOP:
Wprowadzenie do programowania aspektowego i jego głównych konceptów. - Obsługa programowania aspektowego w Springu:
Integracja mechanizmów AOP w ramach Spring. - Punkty złączenia, punkty przecięcia:
Miejsca w kodzie, w których można wstrzykiwać logikę aspektów. - Porady @Before, @After i @Around:
Różne typy porad definiujących, kiedy wywoływać aspekty. - Procesowanie adnotacji przy użyciu AOP:
Wykorzystywanie aspektów jako procesor adnotowanych metod
- Założenia AOP:
- Spring MVC
- Wzorzec MVC:
Organizacja aplikacji w logiczne warstwy Model-Widok-Kontroler. - Inicjalizacja serwleta:
Konfiguracja serwleta jako punktu wejścia aplikacji. - Kontrolery i mapowanie wywołań:
Definiowanie logiki obsługującej żądania HTTP. - Widok:
Generowanie dynamicznego HTML na podstawie danych z kontrolera. - Przekazywanie modelu do warstwy widoku:
Mechanizm wymiany danych między warstwami. - Parametry żądania:
Obsługa parametrów wejściowych z zapytań HTTP. - Wykorzystanie plików JSP i tagów JSTL we współpracy ze Springiem:
Tworzenie dynamicznych stron. - Wielojęzyczność w Springu:
Mechanizmy wspierające różne wersje językowe aplikacji. - Interceptory:
Przechwytywanie i modyfikowanie żądań na poziomie kontrolera. - Formularze:
Obsługa danych przesyłanych z formularzy HTML. - Walidacja formularzy:
Weryfikacja poprawności danych wejściowych.
- Wzorzec MVC:
- Usługi REST
- Czym są usługi REST?:
Zasady projektowania usług webowych bazujących na architekturze REST. - Obsługa REST w Springu:
Implementacja API REST w klasach kontrolerów Spring. - Obsługa adresów URL typu RESTful:
Definiowanie adresów URL odpowiadających zasobom. - Reprezentacja zasobów:
Formatowanie danych w odpowiedzi na żądania (np. JSON, XML). - Tworzenie kontrolerów korzystających z zasobów:
Projektowanie API opartych na REST. - Tworzenie klientów REST:
Konsumpcja zewnętrznych API w aplikacji Spring. - Walidacja danych:
Weryfikacja danych przesyłanych przez klienta.
- Czym są usługi REST?:
- Spring JDBC, Integracja z Hibernate i JPA
- JDBC w Springu:
Obsługa bezpośredniego dostępu do bazy danych. - Szablony dostępu do danych:
Upraszczanie operacji na bazach danych. - Klasy bazowe repozytoriów DAO:
Struktura umożliwiająca łatwe operacje CRUD. - Wyjątki związane z dostępem do danych:
Obsługa błędów w komunikacji z bazą danych. - Źródła danych:
Zarządzanie połączeniami do bazy danych. - Wykorzystanie puli połączeń:
Optymalizacja pracy z bazą danych. - Wydajność zapytań i jej poprawa:
Techniki optymalizacji zapytań. - Integracja JPA ze Springiem ze wsparciem Hibernate:
Mapowanie obiektowo-relacyjne (ORM). - Deklaratywne repozytoria z użyciem Spring Data
Automatyzacja implementacji klas repozytoryjnych
- JDBC w Springu:
- Spring Security
- Architektura Spring Security:
Warstwa ochrony w aplikacjach Spring. - Zabezpieczania HTTP:
Kontrola dostępu do zasobów na poziomie HTTP. - Zabezpieczanie elementów na poziomie widoku:
Ukrywanie funkcji interfejsu dla nieautoryzowanych użytkowników. - Zabezpieczanie metod:
Kontrola dostępu na poziomie logiki aplikacji. - Repozytorium użytkowników:
Zarządzanie danymi użytkowników. - Uwierzytelnianie:
Proces weryfikacji tożsamości użytkowników.
- Architektura Spring Security:
- Spring Boot
- Konwencja ponad konfigurację:
Automatyzacja konfiguracji aplikacji. - Uruchamianie aplikacji Spring Boot:
Tworzenie gotowych do działania aplikacji w jednym kroku. - Zależności typu Starter:
Predefiniowane zależności upraszczające konfigurację. - Konsolidacja zależności:
Zarządzanie zależnościami w projekcie. - Plik konfiguracyjny:
Centralne miejsce zarządzania ustawieniami aplikacji. - Monitoring stanu aplikacji przy użyciu Actuator'a:
Narzędzia do monitorowania i zarządzania aplikacją.
- Konwencja ponad konfigurację:
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!
O szkoleniu
To szkolenie to kompleksowe wprowadzenie do jednego z najpopularniejszych frameworków w świecie Java. Podczas zajęć uczestnicy nauczą się, jak budować nowoczesne aplikacje w oparciu o architekturę mikroserwisów i monolitów, wykorzystując najlepsze praktyki programistyczne oraz zaawansowane funkcje Springa. Warsztaty są prowadzone w formie praktycznych zajęć, uzupełnionych o krótkie bloki teoretyczne.
Cel szkolenia
Celem szkolenia jest wyposażenie uczestników w umiejętności projektowania i implementacji skalowalnych aplikacji przy użyciu Spring Framework. Uczestnicy nauczą się, jak efektywnie korzystać z mechanizmów Springa, takich jak Dependency Injection, Spring Data czy Spring Security, oraz jak szybko budować prototypy i aplikacje produkcyjne dzięki Spring Boot.
Dla kogo
Szkolenie jest przeznaczone dla programistów Java, którzy:
- Posiadają podstawową wiedzę z zakresu Javy (minimum poziom średnio zaawansowany),
- Chcą rozpocząć pracę z frameworkiem Spring lub poszerzyć swoją wiedzę o jego zaawansowane funkcjonalności,
- Planują tworzenie nowoczesnych aplikacji webowych i mikroserwisów.
Co usprawnisz
- Udoskonalisz zarządzanie zależnościami w kodzie.
- Wzmocnisz bezpieczeństwo aplikacji poprzez zastosowanie Spring Security.
- Usprawnisz obsługę bazy danych przy użyciu Spring Data i Hibernate.
- Skrócisz czas wprowadzania aplikacji na rynek dzięki efektywnemu prototypowaniu.
- Zautomatyzujesz konfigurację aplikacji dzięki Spring Boot i jego starterom.
Gdzie użyjesz
- W projektach korporacyjnych wymagających wysokiej niezawodności i skalowalności.
- Przy tworzeniu mikroserwisów i systemów rozproszonych.
- W aplikacjach webowych i mobilnych wymagających backendu opartego na REST API.
Czego się nauczysz
- Podstaw Spring Framework, w tym Dependency Injection, AOP i IoC.
- Projektowania i implementacji REST API z użyciem Spring MVC.
- Obsługi baz danych za pomocą Spring Data JPA i integracji z Hibernate.
- Zabezpieczania aplikacji za pomocą Spring Security.
- Tworzenia aplikacji przy użyciu Spring Boot (konfiguracja starterów, profile środowiskowe).
Jeśli interesuje Cię szybkie opanowanie technologii, która jest podstawą nowoczesnych systemów IT, to szkolenie jest dla Ciebie!
Prowadzący szkolenie:
Marcin Dzierżak
Z wykształcenia mgr informatyki, absolwent Politechniki Gdańskiej. Obecnie jako konsultant realizuje rozwiązania dla klientów. Doświadczenie zdobywał przez 20 lat pracując dla klientów software house, korporacyjnych oraz administracji europejskiej. Od początku kariery związany i wierny językowi programowania Java. Zdobytą wiedzą praktyczną dzieli się na szkoleniach technicznych. W profilu "fullstack" skupia się na technologiach bazujących na językach programowania Java i JavaScript. Realizowane szkolenia mają charakter praktyczny i warsztatowy.
Stanowisko robocze

Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia

Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii Java










Programista i projektant z 13-letnim doświadczeniem, specjalizujący się w Javie i full-stack development. Pracował nad dużymi projektami korporacyjnymi w sektorach fintech oraz insurtech, zdobywając bogate doświadczenie w tworzeniu systemów rozproszonych oraz integracji opartej o API i zdarzenia.
Jako specjalista w dziedzinie Java i architektury oprogramowania, zajmował się również strategicznym rozwojem kompetencji technicznych w organizacji, będąc aktywnym rekruterem technicznym, trenerem oraz mentorem. Pasjonat współpracy z ekspertami domenowymi i klientami, z zamiłowaniem do prostoty i czytelności, z zainteresowaniem Domain Driven Design (DDD) oraz innymi podejściami inżynierii oprogramowania zorientowanymi na domenę biznesową.


Jestem programistą z ponad 15-letnim doświadczeniem. W trakcie swojej kariery kilka razy zmieniałem obszary, z którymi miałem do czynienia (poczynając od niskopoziomowego programowania w C, poprzez fullstackowe zabawy w RubyOnRails, aż do prawdziwego backendu w Javie). Odkąd pamiętam, zawsze lubiłem dzielić się wiedzą z innymi i sprawiało to satysfakcję obu stronom tego procesu. Dlatego naturalną konsekwencją było to, iż zostałem kilka lat temu profesjonalnym trenerem IT.
Prowadzenie szkoleń pozwala mi również na każdorazowe powtórzenie i ugruntowanie swojej wiedzy, co potem bardzo przydaje się w pracy projektowej. Natomiast to, co daje mi największe zadowolenie jako trenerowi, to sytuacja gdy uczeń przerośnie mistrza - wtedy wiem, że dałem z siebie wszystko, a moja praca przyniosła owoce.

