Spring Boot Autokonfiguracja

Kurs Spring Boot – Rest API, Spring Data, Spring Security

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, mam zamiar przedstawić wiele komponentów, które składają się na ten framework. Poza tym tworzę także aplikację, która wystawia usługi restowe.

Kurs Spring Boot #1 – 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ę

 

Kurs Spring Boot #2 – 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?
  • Działanie kontener IoC w praktyce
  • Jak Spring znajduje beany (@ConmponentScan)
  • Jaki jest zasięg beanów w Springu(Scope)
  • Jak wstrzykiwać zależności w Springu (Dependency Injection)

 

Kurs Spring Boot #3 – 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

Powiązany artykuł:
Jak tworzyć REST API?

 

Kurs Spring Boot #4 – 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
  • 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

Powiązany artykuł:
Hibernate i problem N + 1 zapytań

 

Kurs Spring Boot #5 – 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

 

Kurs Spring Boot #6 – 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. Pokazuje, jak uwierzytelniać użytkowników poprzez sesję http, a następnie dostosowuję 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?

Powiązane artykuły:
Spring Security – uwierzytelnienie przy pomocy jsona
Spring Security i Json Web Token

 

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 *