Szkolenie: Spring Boot szybki start w języku Kotlin
Szkolenie Spring Boot szybki start w języku Kotlin to praktyczny kurs, który uczy tworzenia nowoczesnych aplikacji backendowych z wykorzystaniem Spring Boot, REST API, baz danych SQL i NoSQL, testowania oraz bezpieczeństwa, z naciskiem na idiomatyczne wykorzystanie języka Kotlin
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:SPRING/BOOT/KT
Spring Boot szybki start w języku Kotlin
Cele szkolenia
Szkolenie przygotowuje do samodzielnego projektowania i implementowania aplikacji webowych oraz usług REST z użyciem Spring Boot i języka Kotlin
Szkolenie uczy stosowania kluczowych mechanizmów frameworku, takich jak wstrzykiwanie zależności, programowanie aspektowe, konfiguracja oraz zarządzanie środowiskami
Szkolenie pokazuje, jak integrować aplikacje z relacyjnymi i nierelacyjnymi bazami danych oraz wykorzystywać Spring Data JPA w praktyce
Szkolenie rozwija umiejętność testowania aplikacji na poziomie jednostkowym i integracyjnym, z wykorzystaniem narzędzi dostępnych w ekosystemie Spring Boot
Dla kogo?
Programiści Java lub Kotlin z doświadczeniem w programowaniu aplikacji webowych, chcący poznać praktyczne zastosowanie Spring Boot w języku Kotlin
Deweloperzy backend oraz osoby odpowiedzialne za rozwój i utrzymanie usług REST, zainteresowane nowoczesnymi technikami programowania
Zespoły IT planujące migrację aplikacji do Kotlin lub wdrażające nowe projekty w ekosystemie JVM
Efekty kształcenia
Uczestnik projektuje aplikacje backendowe z wykorzystaniem Spring Boot i języka Kotlin
Uczestnik konfiguruje środowisko oraz zarządza zależnościami w projektach Kotlin + Spring
Uczestnik implementuje REST API oraz obsługuje walidację i obsługę wyjątków
Uczestnik integruje aplikacje z relacyjnymi i nierelacyjnymi bazami danych
Uczestnik testuje komponenty aplikacji na poziomie jednostkowym i integracyjnym
Uczestnik stosuje dobre praktyki architektury aplikacji backendowych
Wymagania
Praktyczna umiejętność programowania w języku Java lub Kotlin
Elementarna wiedza z zakresu technologii wchodzących w skład Jakarta EE
Podstawowa znajomość SQL i relacyjnych baz danych
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Wprowadzenie do Spring Boot i organizacji projektu
Spring Framework vs Spring Boot
Tworzenie projektu - Spring Initializr, starters, BOM, struktura katalogów
Auto-konfiguracja i jej nadpisywanie
Wsparcie oferowane z poziomu narzędzi deweloperskich
Konfiguracja zewnętrzna - application.yml, profile, @Value, @ConfigurationProperties
Architektura aplikacji - klasyczna warstwowa vs heksagonalna na bazie projektu warsztatowego
Wstrzykiwanie zależności i kontener IoC
Wyjaśnienie podstawowych pojęć - dependency injection, kontener, komponenty zarządzane
Komponenty zarządzane i ich cykl życia
Konfiguracja oparta o adnotacje vs Java config
Wstrzykiwanie przez konstruktor, setter i pole - dobre praktyki i pułapki
@Qualifier, @Primary, @Conditional, @Profile - precyzyjne sterowanie kontekstem
Tworzenie własnych adnotacji stereotypowych
Publikowanie i nasłuchiwanie zdarzeń
Programowanie aspektowe (AOP) w praktyce
Terminologia - aspect, advice, joinpoint, pointcut, introduction
Typy advice
Wyrażenia pointcut, desygnatory i ich zastosowanie
Tworzenie i wykorzystanie aspektów
Utrwalanie danych z wykorzystaniem Spring Data
Wprowadzenie do rodziny projektów Spring Data
Konfiguracja źródła danych i puli połączeń HikariCP
Spring Data JPA - repozytoria, konfiguracja
Wykonywanie zapytań - derived queries, @Query (JPQL/native), Specification, projekcje
Stronicowanie i sortowanie
Mapowanie encji JPA - relacje, embeddable, value objects
Wzorzec port + adapter + mapper - separacja modelu domenowego od encji bazodanowych
Zarządzanie transakcjami - propagacja, izolacja, reguły wycofywania
Spring Data MongoDB - równoległy adapter dla bazy nierelacyjnej
Tworzenie REST API ze Spring Web MVC
Cykl obsługi żądania w Spring MVC
Tworzenie i konfigurowanie kontrolerów - @RestController, @RequestMapping i pochodne
Mapowanie parametrów - @PathVariable, @RequestParam, @RequestBody, @RequestHeader
Obiekty transferowe (DTO) i mapowanie modelu danych między warstwami
ResponseEntity, kody HTTP, nagłówek Location przy tworzeniu zasobów
Walidacja Bean Validation - @Valid, @Validated, grupy walidacji
Tworzenie własnych adnotacji walidacyjnych
Globalna obsługa wyjątków - @ControllerAdvice, @ExceptionHandler, builder odpowiedzi błędu
Internacjonalizacja (i18n) komunikatów błędów
Stronicowanie i zwracanie wyników stronicowanych
Dokumentowanie API - OpenAPI 3 i Swagger UI
Spring Boot Actuator - health, info, metrics, env, loggers
Bezpieczeństwo aplikacji ze Spring Security
Architektura Spring Security - SecurityFilterChain, AuthenticationManager, AuthenticationProvider, UserDetailsService, SecurityContextHolder
Konfiguracja autoryzacji żądań, role vs uprawnienia
PasswordEncoder i hashowanie haseł
Uwierzytelnianie - HTTP Basic, formularz logowania, własne strony login/logout
Bezpieczeństwo na poziomie metod - @EnableMethodSecurity, @PreAuthorize, @Secured, @RolesAllowed
Niestandardowe typy: UserDetailsService, AuthenticationProvider, AuthorizationManager
Nagłówki bezpieczeństwa, CORS, ochrona przed Cross Site Request Forgery (CSRF)
OpenID Connect / OAuth 2.0 - role: client, resource server, authorization server
Integracja z Keycloak - oauth2ResourceServer (walidacja JWT) + oauth2Login (przepływ przeglądarkowy)
Mapowanie ról i uprawnień z tokenu
Logout z dostawcą zewnętrznym
Testowanie aplikacji Spring Boot
Wsparcie oferowane przez Spring Boot - @SpringBootTest, slice tests
Testy jednostkowe z JUnit i Mockito
Testy warstwy persistence - @DataJpaTest, baza H2
Testy kontrolerów - @WebMvcTest, MockMvc
Testy integracyjne end-to-end z TestRestTemplate
Testy z bezpieczeństwem - spring-security-test, @WithMockUser, @WithUserDetails
Dobre praktyki - Given/When/Then, czytelne asercje, izolacja testów
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

