Spring Boot Autokonfiguracja

Kurs Spring Boot – REST API, Stronicowanie i sortowanie wyników

Kurs Spring Boot, w którym opowiem o podstawach związanych ze Springiem i Spring Bootem. W kursie tym, poza poruszeniem podstawowych zagadnień związanych ze Spring Bootem, będę także tworzył aplikację, która wystawia usługi restowe.

Autokonfiguracja i przykładowy projekt

W tym odcinku opowiadam o tym, jak działa autokonfiguracja w Spring Boot. Jak skonfigurować projekt poprawnie oraz jak połączyć się z bazą danych (in memory) H2 przy użyciu Spring Data JPA

 

Co znajdziesz w tej części:

  • Tworzę przykładową aplikację
  • Opowiadam o tym czym jest autokonfiguracja
  • Dodaję konfigurację do bazy danych (in memory) H2 i dodaję zależność do Spring Data JPA
  • Pokazuję jak uruchomić konsolę bazy H2
  • Pokazuję, jak ustawiać strukturę bazy danych korzystając z plików schema.sql i data.sql
  • Opowiadam o tym jak autokonfiguracja działa
  • Pokazuję jak dostosować komponenty skonfigurowane przez autokonfigurację

 

Kontekst, Inversion of Control (IoC), Wstrzykiwanie zależności

Druga część kursu Spring Boota, w której opowiadam o Inversion of Control (IoC), czyli odwróceniu sterowania w Springu, a także o tym jak działa kontekst i wstrzykiwanie zależności.

 

 

Co znajdziesz w tej części:

  • Co to jest Inversion of Control
  • Jak działa Kontekst w Springu
  • Jak działa w praktyce kontener IoC
  • Jak Spring znajduje beany (@ConmponentScan)
  • Jak działa zasięg beanów (Scope)
  • Jak wstrzykiwać zależności w Springu (Dependency Injection)

 

Jak tworzyć REST API?

W tej części przedstawiam jak stworzyć REST API i jak tworzyć je prawidłowo. Także pokazuję jak dodać do projektu Swaggera, narzędzie do przeglądania i rozwijania api restowego. Pokazuje na przykładzie, jak wygląda problem n+1 i jak wykryć go w aplikacji.

 

 

Co znajdziesz w tej części:

  • Opowiadam o tym, co zmieniło się w projekcie
  • Generuję dane testowe
  • Opowiadam o tym, jak tworzyć REST API
  • dodaję i konfiguruję Swaggera w projekcie
  • Tworzę serwis i repozytorium (Spring Data JPA)
  • Pokazuję problem n+1 dla Hibernate

 

Jak działa Spring Data? Problem N + 1 i stronicowanie wyników

W czwartej części kursu opowiadam o tym, jak działa Spring Data. Pokazuję jak pozbyć się problemu N+1, który często pojawia się przy korzystaniu z Hibernate. Pokazuję także jak odpowiednio postronicować wyniki, tak żeby api działało optymalnie.

 

 

Co znajdziesz w tej części:

 

  • Dlaczego powstało Spring Data
  • Jak działa Spring Data JPA
  • Jak tworzyć własne metody w Spring Data
  • Optymalizacja zapytań JPA, eliminuję problem N + 1
  • Stronicowanie wyników w Spring Data
  • Jak stronicować wyniki zapytań z joinem
  • Jak działa leniwe dociąganie danych w Hibernate (lazy loading)
  • Jak pozbyć się problemu N+1 używając do tego mapowania obiektów
  • Przekazywanie parametrów z requesta do REST API

 

Stronicowanie dwóch tabel i Sortowanie wyników

W tej części kursu opowiadam o tym, jak pobrać postronicowane wyniki z dwóch powiązanych table jednocześnie (posty i komentarze), tak żeby to było jak najbardziej wydajne. Pokazuję także jak sortować wyniki w Spring Data.

 

 

Co znajdziesz w tej części:

  • Stronicuję wyniki pobierane z dwóch tabel
  • Pokazuję jak w prosty sposób dodać sortowanie wyników w REST API

 

Tworzenie edycja i usuwanie encji Hibernate

Jak zapisywać poprawnie encje korzystając ze Spring Data i Hibernate?

W tym odcinku pokazuje jak stworzyć metody do zapisu, edycji i usuwania encji. Skupiam się na problemach jakie możesz napotkać przy tworzeniu takich operacji.

 

 

Co znajdziesz w tej części:

  • Poprawiam błędy parametrów domyślnych (z poprzednich odcinków)
  • Wyjaśniam jak działa mechanizm HotSwap w debugerze
  • Tworzę metoda do zapisywania encji
  • Wyjaśniam co powinna zwracać metoda zapisu?
  • Jak generować kolejne id dla encji?
  • Tworzę metoda do edycji encji
  • Przedstawiam prawidłowy sposób edycji encji
  • Tworzę metoda do usuwania encji
  • Pokazuję jak kaskadowo usuwać encje

 

Kurs Spring Boot #07 – Spring Security i JWT Token

W tym odcinku zaimplementuję uwierzytelnienie w serwisie restowym korzystając ze Spring Security. Pokażę, jak uwierzytelniać użytkowników poprzez sesję http, a później dostosuję to uwierzytelnienie do obsługi Json Web Token.

 

 

 

Co znajdziesz w tej części:

  • Jak przystosować Spring Security do JWT?
  • Co to jest Json Web Token?
  • Tworzę konfigurację Spring Security
  • Dodaję kontroler do logowania
  • Dodajemy filtr do logowania Jsonem
  • Testuję działające uwierzytelnienie przy użyciu sesji http
  • Implementuję obsługę Json Web Token
  • Dodaję zwracanie tokena w successHandlerze
  • Dodaję filtr do autoryzacji endpointów
  • Dostosowuję Swaggera do obsługi Json Web Token
  • Jak wstrzyknąć uwierzytelnionego użytkownika do metody kontrolera?

 

Link do Playlisty: https://www.youtube.com/playlist?list=PLLIGVl2WVN6ugud2cc3OShwWoTt65jzSL

 

PS. Kolejne części po ich publikacji zostaną tutaj dodane.

 

Mini kurs testy jednostkowe

Mateusz Dąbrowski

Cześć jestem Mateusz, zajmuję się programowaniem już ponad 12 lat z czego ponad 8 programuję w Javie. Zapraszam Cię do lektury mojego bloga. Możesz przeczytać więcej o mnie >>TUTAJ<<

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *