Szkolenie Spring
Poziom
ZaawansowanyCzas
40h / 5 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie Spring
Spring sprawia, że programowanie w Javie jest szybsze, łatwiejsze i bezpieczniejsze. Szybkość, prostota i produktywność wpłynęły na to, że Spring to obecnie najpopularniejszy na świecie framework dla Javy. Dzięki temu szkoleniu uczestnicy poznają architekturę frameworka, zostaną od podstaw przeprowadzeni przez najważniejsze moduły do Springa oraz w praktyce doświadczą jak szybko można stworzyć aplikację webową przy jego użyciu.
Dla kogo jest to szkolenie?
Dla osób chcących od podstaw nauczyć się tworzenia aplikacji webowych przy użyciu technologii Spring lub chcących uporządkować posiadaną wiedzę.
Dla osób chcących posiąść lub pogłębić wiedzę z zakresu tworzenia aplikacji internetowych.
Dla osób posiadającą średnio-zaawansowaną wiedzę z zakresu JavaSE.
Dla osób, które szukają lekkich alternatyw do Java EE.
Czego nauczysz się na tym szkoleniu?
- Poznasz architekturę Spring Framework – zaczynając od podstaw czyli Spring Core, poprzez usprawnienia do konfiguracji, które przyniósł ze sobą Spring Boot, aż po dokładne działanie poszczególnych modułów takich jak Spring Web lub Spring Data
- Nauczysz się skonfigurować aplikację (wraz z odpowiedzią na pytanie dlaczego robimy to w taki sposób)
- Dowiesz się jak, zgodnie z najlepszymi praktykami, wystawić usługi REST w Springu, przyjmować i walidować dane oraz jak obsługiwać ewentualne błędy, a także jak konsumować takie API wystawione przez inne serwisy
- Przećwiczysz pracę z bazą danych przy użyciu modułu Spring Data
- Napiszesz testy (jednostkowe i integracyjne) do aplikacji korzystając z modułu Spring Test
- Poznasz najlepsze praktyki, które pozwolą Ci lepiej zarządzać kodem oraz strukturą projektu podczas tworzenia aplikacji webowych
Korzyści z frameworku Spring
- nie musimy przejmować się problemami związanymi z konfiguracją poszczególnych elementów naszej infrastruktury – Spring jest w stanie zrobić to za nas, dzięki czemu możemy skupić się na tworzeniu kodu biznesowego
- jesteśmy w stanie szybko dostarczyć MVP projektu
- dzięki spójnemu modelowi programowania, użycie w aplikacji technologii, której jeszcze nie znamy wydaje się bardzo naturalne i proste
Program szkolenia
Moduł 1: Wprowadzenie do Spring Framework i Spring Boot
- Problemy rozwiązywane przez Spring Framework
- Spring Core Principles
- Java EE vs Spring
Moduł 2: Spring Core
- Konfiguracja aplikacji przy użyciu Java Config i adnotacji
- Application Context i zarządzanie beanami
- Dependency Injection i Inversion of Control
- Rodzaje beanów i sposoby wstrzykiwania zależności
- Qualifier i rozwiązywanie konfliktów zależności
Moduł 3: Konfiguracja aplikacji Spring Boot
- application.yml i zarządzanie konfiguracją
- Profiles i konfiguracja środowisk
- Dobre praktyki zarządzania konfiguracją
Moduł 4: Spring Boot
- Auto Configuration
- Startery i zarządzanie zależnościami
- Embedded Servers
- Dobre praktyki pracy ze Spring Boot
Moduł 5: REST API — dobre praktyki
- REST jako styl komunikacji
- Projektowanie czytelnych endpointów
- Dobre praktyki związane z kontraktem API
- Najczęstsze błędy przy projektowaniu API
Moduł 6: Spring Web
- Tworzenie kontrolerów REST
- Wystawianie endpointów HTTP
- Odczytywanie danych z requesta
- Serializacja i deserializacja danych przy użyciu Jackson
- Walidacja danych przy użyciu Hibernate Validator
Moduł 7: Dokumentowanie API
- Podstawy OpenAPI i Swagger UI
- Generowanie dokumentacji endpointów
- Dobre praktyki utrzymywania dokumentacji API
Moduł 8: Obsługa błędów w Spring Web
- Obsługa wyjątków w aplikacjach REST
- Global Exception Handling
- Tworzenie spójnych odpowiedzi błędów
- Najczęstsze błędy w obsłudze wyjątków
Moduł 9: Wprowadzenie do Hibernate i JPA
- Hibernate vs JPA
- ORM i mapowanie obiektowo-relacyjne
- Podstawowe mapowania encji
- Entity Manager i zarządzanie encjami
- Transakcje w JPA
Moduł 10: Spring Data
- Koncepcja Repository
- Tworzenie repozytoriów i podstawowych zapytań
- Spring Data JPA
- Dobre praktyki pracy z JPA i Spring Data
- Zarządzanie transakcjami w Springu
Moduł 11: Monitorowanie aplikacji — Spring Boot Actuator
- Endpointy monitorujące
- Health checks i metryki aplikacji
- Monitorowanie działania aplikacji
- Podstawy observability w Spring Boot
Moduł 12: Migracje danych przy użyciu Liquibase
- Zarządzanie zmianami w bazie danych
- Tworzenie i uruchamianie migracji
- Versioning schematu bazy danych
- Dobre praktyki pracy z migracjami
Moduł 13: Spring AOP
- Wprowadzenie do programowania aspektowego
- Mechanizm proxy w Springu
- Najczęstsze zastosowania AOP
Moduł 14: Komunikacja z zewnętrznymi API
- Konsumowanie REST API przy użyciu WebClient
- Obsługa błędów i timeoutów
- Retry i odporność komunikacji
- Dobre praktyki komunikacji z zewnętrznymi usługami
Moduł 15: Odporność aplikacji — Circuit Breaker
- Problemy komunikacji rozproszonej
- Pattern Circuit Breaker
- Wprowadzenie do resilience4j
- Budowanie bardziej odpornych integracji
Moduł 16: Testowanie aplikacji Spring Boot
- Wprowadzenie do JUnit 5
- Testy jednostkowe i integracyjne
- Spring Boot Test
- Dobre praktyki związane z testowaniem aplikacji Spring Boot
Moduł 17: Uruchamianie aplikacji w Dockerze
- Podstawy Docker
- Budowanie obrazu aplikacji Spring Boot
- Uruchamianie aplikacji w kontenerze
Moduł 18: Spring Boot i AI
- Wykorzystanie AI przy generowaniu kodu i konfiguracji Spring Boot
- Jak weryfikować kod generowany przez AI
- Ryzyka związane z bezrefleksyjnym użyciem AI
- AI jako wsparcie refaktoryzacji i analizy błędów
Moduł 19: Podsumowanie
- Najważniejsze elementy ekosystemu Spring Boot
- Dobre praktyki budowania aplikacji backendowych
- Najczęstsze problemy spotykane w projektach
- Jak rozwijać aplikacje Spring Boot w sposób utrzymywalny