Nauka Frameworka Spring
Dzisiaj przedstawię Ci listę kursów Spring dla początkujących. Jest to najpopularniejszy Framework dla języka programowania Java. Dlatego przed jego nauką, należy najpierw zaznajomić się z tym językiem. Listę polecanych kursów znajdziesz pod tym linkniem. Jeśli chcesz pracować na stanowisku Java Developera, to będziesz musiał się go nauczyć. Praktycznie większość ofert wymaga znajomości tej technologii. Wykorzystuje się go najczęściej do budowania usług, gdzie następnie wykorzystuję się je na stronach internetowych czy urządzeniach mobilnych.
Framework Spring jest naprawdę dużym projektem. W jego skład wchodzi dużo podprojektów. Oprócz samego Springa możemy wyróżnić osobny pod projekt dla integracji z bazą danych czy bezpieczeństwem aplikacji. Zaletą takiego podejścia jest to, że nie posiadamy całego projektu skumulowanego jako jeden duży projekt, a mamy rozbite na parę mniejszych i używamy tylko tego, co nas interesuje. Listę wszystkich dostępnych projektów znajdziesz klikając tutaj.
Szukając informacji o tym Frameworku możesz natrafić się na taką nazwę jak Spring Framework, Spring MVC czy Spring Boot. Nie będę dokładnie omawiał ich co jest czym, ale jeśli będziesz szukał informacji to najlepiej brać tę związane ze Spring Bootem (wersja 2+), ponieważ obecnie ten projekt jest najczęściej używany jako podstawa do pisania nowych aplikacji ze względu na swoją prostotę.
Zobacz inne polecane kursy dla:
Lista kursów Spring
Seria wpisów na blogu
Spring.io (język angielski) – Jest to oficjalna strona Springa. Udostępniają tam listę tutoriali w których można zobaczyć jak tworzyć aplikację w tym Frameworku. Wadą tej strony jest to, że nie prowadzi Cię po kolei jak masz wykonywać lekcję, tylko masz dostępną listę tutoriali i wybierasz konkretny, który Cię interesuje. Dużą zaletą jest, że każdy poradnik pokazuję jak zbudować aplikację od początku do końca z uwzględnieniem danego zagadnienia. Według mnie nie będzie dobrym wyborem na start jak w ogóle nie znasz Springa, bo możesz się w tym pogubić lub nie będziesz wiedział od czego zacząć. Najlepiej zacząć go robić, jak zdobędziesz podstawową wiedzę.
Baeldung Spring Boot (język angielski) – Jedna z popularniejszych stron do nauki Springa Boota. Kurs jest podzielony na sekcję od podstaw do bardziej zaawansowanych rzeczy. Na stronie oprócz tego kursu, są również dostępne inne powiązane kursy ze Springiem m.in. zarządzania bazami danych, obsługa usług REST w aplikacji czy bezpieczeństwo.
O7planning Spring Boot Tutorials (język angielski) – Dość ciekawy, a zarazem bardzo obszerny kurs Spring Boota. Autor przedstawia dane zagadnienia, tworząc za każdym razem mini projekt i na podstawie tego opisuje temat. Dlatego będzie dobrym wyborem dla osób, które lubią, jak autor kursu bardzo szczegółowo pokazuję, co w każdym kroku powinni zrobić, aby móc przetestować dane zagadnienie. Wadą tego kursu jest, że autor czasem przedstawia tematy, które obecnie bardzo rzadko się stosuje lub wcale m.in. JSP czy AngularJS (tutaj mała uwaga: istnieją dwie wersję Angulara: AngularJS i Angular 2+ – obecnie używa się tej drugiej wersji).
YouTube
Jinkubator #25 – Spring Boot – Jakub Kubryński (1h 07m) – Jeśli chcesz zacząć przygodę ze Springiem, to lepszego filmiku na start nie ma. Co prawda jest on już dość stary (2015), natomiast autor w bardzo przystępny sposób pokazuję, jak w bardzo prosty sposób można wystawić usługę RESTową z wykorzystaniem Springa. Jeśli na szybko chcesz zobaczyć jak wygląda ten Framework, to zacznij właśnie o tego filmiku.
Spring Boot Tutorial for Beginners (1h 49m, język angielski) – Szybkie praktyczne wprowadzenie do Frameworka. Autor na podstawie prostego projektu pokazuje jak w springu wystawić usługę RESTową, połączyć się z bazą danych oraz jak porozdzielać pliki (na kontroler, serwis, encje i dostęp do bazy) w projekcie.
Spring Boot Quick Start (seria 34 filmików, średni czas około 5min, język angielski) – Taki szybki start do Spring. Pokazane zostały w nim podstawowe zagadnienia. Możemy w kursie wyróżnić 2 typy filmików: teoretyczne i praktyczne. Dzięki czemu kurs stawia na oba aspekty, przez co możemy z niego dużo się nauczyć.
Książki
Jeśli chodzi o Frameworki, ogólnie, a nie tylko Spring, to bardzo trudno znaleźć dobrą książkę w tym zakresie. Tym bardziej w języku polskim (bardzo często trzeba długo czekać za polskim wydaniem, przez co wydania są często przestarzałe). Dlatego przedstawię Ci parę lektur, natomiast zachęcam jednak wybrania innej metody nauki. Jednym z argumentów może być cena. jeśli chcemy kupić dobrą książkę w tym temacie, to najlepiej celować w wydania angielskie, co z kolei wiąże się z wysoką ceną (140zł+).
Spring w Akcji. Wydanie V (520 stron) – To jest jedyna pozycja, którą przedstawię Ci w języku polskim. Jest to najpopularniejsza książką (w Polsce?) do nauki Frameworka Spring. Jeśli koniecznie chcesz się uczyć z książki to możesz zastanowić się nad jej kupnem. Szczegółową recenzję tej pozycji zrobił Przemysław Bykowski Recenzja książki Spring w akcji 5 i może warto ją przeczytać przed zakupem.
Learning Spring Boot 2.0 (369 stron, język angielski) – Książka opisuje podstawy Springa. Został w niej przedstawiony koncept Frameworka oraz użycie go z m.in. z bazą danych (MongoDB), mikroserwisami czy bezpieczeństwem aplikacji. Dobra pozycja na start ze względu na to, że opisuje również wiele zagadnień pobocznych. Pokaże Ci to mniej więcej zakres technologii z jakimi na co dzień mierzy się Java Developer.
Cloud Native Java. (648 stron, język angielski) – W tej książce też zostały poruszone tematy podstaw Springa, ale podchodzą do tematu trochę inaczej niż w poprzedniej pozycji. Tutaj autor, czytelnika wprowadza w świat mikroserwisów i na nich głównie opiera naukę Springa. Jest to bardzo przydatna wiedza, w końcu coraz częściej robi się architekturę w ten sposób, natomiast dla początkującej osoby może być trudna do zrozumienia. Moim zdaniem warto najpierw zapoznać się z podstawami tworzenia usług z wykorzystaniem Springa z innej pozycji, a dopiero potem się za nią zabierać.
Udemy
Jeśli nie czytałeś poprzednich wpisów o listach kursów dla początkujących wstawiam ponownie opis platformy. Udemy jest to platforma, na której można znaleźć mnóstwo kursów z różnych obszarów, nie tylko z programowania. Kursy na tej platformie są niestety płatne. Koszt ich to 35zł – 45zł (na stronie możesz zobaczyć wyższe ceny, natomiast zawsze są na niej promocję. Jeśli obecnie nie ma żadnej, to poczekaj parę dni lub otwórz przeglądarkę przez tryb incognito).
Java – Spring Framework (20h 30m, filmiki podzielone na 16 modułów) – Podstawowy kurs Springa. Autor przedstawia wszystkie niezbędne podstawy, aby po zakończonym kursie móc sprawnie pisać aplikację w tej technologii. Polecam dla osób, które nigdy nie miały styczności z tym Frameworkiem.
Mikroserwisy z Spring Cloud – tworzenie aplikacji webowych! (16h, filmiki podzielone na 12 modułów) – Kurs Springa dla ambitnych. Autor w kursie postanowił postawić na nowoczesność i wykorzystanie architektury mikroserwisów. Na początku mamy szybki wstęp do technologii Spring i REST API, a następnie przechodzimy do konkretów 🙂 Kurs będzie nawet dobrym wyborem dla osób, które znają już podstawy Springa i chcą nauczyć się jak w nim pisać w architekturze mikroserwisów z użyciem nowoczesnych technologii (Spring Cloud, Zuul, Eureka).
Dłuższe kursy z kompendium wiedzy
Spring Framework 5: Beginner to Guru (56h 30m, filmiki podzielone na 35 modułów, język angielski) – Dość ciekawy kurs Springa. Zostały w nim przedstawione zarówno podstawowe zagadnienia jak i zaawansowane. Bardzo dużą zaletą kursu jest to, że autor stawia na nowoczesność (oparty o Spring Boota) oraz pokazuje jak zintegrować się z różnymi technologiami (pozwala nam to od razu poznać inne technologie wykorzystywane w pracy na stanowisku Java Developera).
Spring & Hibernate for Beginners (includes Spring Boot) (41h, filmiki podzielone na 84 modułów, język angielski) – Do tego kursu mam sentyment. Jak zaczynałem swoją przygodę z Frameworkiem Spring to znajomy polecił mi zacząć właśnie od tego kursu. Mamy w nim przedstawione wszystkie najważniejsze podstawy z tego Frameworka. Autor kursu jest naprawdę stworzony do tej roli. Zagadnienia są bardzo dobrze przedstawione, przez co łatwo zrozumieć dany temat. Natomiast jest to dość stary kurs, więc większość tematów jest przedstawiona w „czystym” Springu. Dopiero w dalszej części autor wprowadza Spring Boota. Jeśli ktoś chce poznać bardzo dobrze Springa, ze szczegółami, to zachęcam do przerobienia właśnie tego kursu.
Hibernate
Hibernate jest frameworkiem służącym do mapowania obiektowo-relacyjnego w Javie. Studiując ten temat możesz się natrafić na skrót ORM ang. Object Relational Mapping.
Bardzo często obok Hibernate jest używany skrót JPA (ang. Java Persistence API). I o co w tym chodzi. JPA jest specyfikacją Javy do mapowań obiektowo-relacyjnych. Zawiera w sobie tylko zbiór interfejsów i definicji, czyli opisuję jak funkcję powinny być realizowane i w jaki sposób. Hibernate w tym wszystkim jest konkretną implementacją tej specyfikacji. Inną popularną implementacją jest Eclipse Link.
Ogólnie przerabiając kurs ze Springa, bardzo często natrafisz się również w nim na Hibernate, więc konkretne, dedykowane kursu tylko z tej technologii prawdopodobnie mogą Ci się nie przydać na obecnym etapie. Przynajmniej jeśli mówimy o podstawowej znajomości. Jeśli będziesz chciał się zagłębić bardziej w tego frameworka, to dopiero wtedy powinien Ci się przydać dedykowany kurs.
Lista kursów Hibernate
Poniżej przedstawiłem Ci 4 linki: 2 do YouTube i 2 do Udemy. Gorąco zachęcam do obejrzenia tych 2 pierwszych.
ORM, JPA, Hibernate, Spring Data JPA (YouTube, 17min) – Dobry, krótki filmik pokazujący, o co chodzi w tym wszystkim. Ucząc się komunikacji z bazą danych w Springu, możemy natrafić na wiele skrótów, które na pierwszy rzut oka nic nie mówią. W filmiku autor stara się ułatwić życie początkującym osobą i wyjaśnia te pojęcia.
JPA – beyond copy-paste (YouTube, 50min) – Wykład na temat JPA. Autor opowiada o najczęściej popełnianych błędach w implementacji tej technologii. Nie jest to, więc klasyczny kurs, natomiast pozwala bardzo dużo się nauczyć. Oprócz samej implementacji, możemy się z niego dowiedzieć m.in. gdzie najczęściej popełniane są błędy, poznać paręnaście pojęć związanych z tą technologią czy jakie błędy może powodować zła implementacja np. problem N+1.
Spring Data JPA Using Hibernate (Udemy, 11h 30m, filmiki podzielone na 28 modułów, język Angielski) – Bardzo szczegółowy kurs Hibernate. Przed przystąpieniem należy najpierw zapoznać się z podstawami Spring Boota. Polecam, jak chcesz zapoznać się ze szczegółami tej technologii, przy niewielkim koszcie.
Hibernate and Java Persistence API (JPA) Fundamentals (Udemy, 7h 30m, filmiki podzielone na 12 modułów, język Angielski) – Tak jak poprzedni kurs, bardzo szczegółowo opisuje Hibernate. Kurs dla osób, które chcą poznać bliżej tę technologię, ale nie znają Springa. Wystarczy sama znajomość Javy. Dużą zaletą jest to, że możemy zobaczyć jak pracować z czystym Hibernatem, bez całej otoczki, jaką daję nam Spring.
Maven
Maven jest to narzędzie, które automatyzuje budowania projektów napisanych w Javie. Tak prostym językiem, jest to narzędzie, które ułatwia nam zarządzanie projektem:
- Nie musimy za każdym razem ściągać plików jar, żeby dodać jakąś bibliotekę do projektu. Wystarczy dodać zależność (raptem parę linijek) w pliku pom.xml (taki główny plik do obsługi Mavena). Co z kolei ułatwia nam zarządzanie wersją danej biblioteki. Czy nie wydaję się to prostszym rozwiązaniem?
- Pozwala na zarządzanie kompilacją, budowaniem, testowaniem, pobieranie zależności w projekcie czy generować dokumentację. Wystarczy jedna linijka w konsoli.
- Jeden plik do konfiguracji całej aplikacji.
- Praktycznie zawsze go się wykorzystuje z aplikacjami pisanymi w Springu.
Oczywiście nie są to wszystkie możliwości jakie daje nam Maven. Wymieniłem Ci tylko parę, żeby pokazać, że jest to naprawdę użyteczne narzędzie i warto znać je oraz wykorzystywać jego potencjał.
Większość kursów Springa powinna mieć przynajmniej podstawowy wstęp do tej technologii. Natomiast jeśli będziesz chciał bliżej poznać Mavena to skorzystaj z kursów poniżej.
Lista kursów Maven
Kurs Maven (artykuł, 19 części) – Przedstawia Mavena od podstaw do bardziej zaawansowanych rzeczy m.in. profile, pluginy czy repozytoria zdalne. Kurs został podzielony na 19 części. Są to bardzo krótkie wpisy, więc szybkie je można przerobić.
Oficjalna Dokumentacje Maven (artykuł, język angielski) – Zawsze możemy skorzystać z oficjalnej dokumentacji. Na ich stronie został przedstawiony poradnik, jak pracować z tym narzędziem.
Baeldung Maven (artykuł, język angielski) – Jeden artykuł w którym zostało napisane bardzo dużo na temat tego narzędzia. Wiedza zawarta w tym wpisie powinna być wystarczająca, żeby nauczyć się bardziej zaawansowanych rzeczy z Mavena.
Maven Tutorial (YouTube, seria 14 filmików, średni czas około 5min, język angielski) – Seria filmików, w których autor opisuje bardzo szczegółowo to narzędzie. Dobrą zaletą kursu jest, że pokazuje działanie poszczególnych zagadnień z użyciem przykładów.
Podsumowanie
W artykule przedstawiłem Ci listę kursów Spring dla początkujących. Gdybym dzisiaj zaczynałem swoją przygodę z tym Frameworkiem to na początek obejrzałbym jeden z proponowanych przeze mnie filmików na YouTube. Następnie wybrałbym jakiś kurs z platformy udemy, ponieważ patrząc na jakość poszczególnych metod nauki, w przypadku Springa ta platforma wypada najlepiej. To jest tylko moja propozycja, natomiast wybór należy do Ciebie.