w ,

FajneFajne Dobre!Dobre! ŚwietnieŚwietnie Że co?Że co? WnerwWnerw SmuteczekSmuteczek

Spring i Spring Boot – rzeczowy przewodnik

Spring - solidny start
Spring - solidny start

Spring to najpopularniejszy framework dla Java, dlatego jego znajomość jest praktycznie niezbędna, jeśli myślisz o karierze Java Developera. Aby pomóc Ci w nauce tego narzędzia, przygotowałem dla Ciebie materiał, który wyjaśni Ci koncepcję frameworka i jednocześnie zapewni Ci solidną postawę do rozpoczęcia nauki.

Spring Framework i Spring Boot – różnice

Spring Framework (chociaż zwykle nazywa się go po prostu „Spring”) to narzędzie, które znacznie skraca proces tworzenia aplikacji. Stanowi szereg usprawnień, których implementacja w Java zajęłaby wieki. Jego głównym założeniem jest dostarczenie programiście mechanizmów, które sprawią, że tworzenie aplikacji będzie:

  • sprawniejsze, przy jednoczesnym zachowaniu najlepszych praktyk programistycznych;
  • zachowywało pewne standardy, przez które łatwiej utrzymać kod w uporządkowany sposób.

Po dużym sukcesie Springa powstało nowe narzędzie – Spring Boot, które zostało określone mianem „frameworka do frameworka”. Spring Boot wykorzystuje najlepsze praktyki Springa, a dodatkowo zapewnia:

  • konfigurację – dzięki której programista może pisać jeszcze bardziej zwięzły kod, bez generowania często siermiężnych i powtarzalnych skryptów konfiguracyjnych.
  • kontener aplikacji (potocznie, chociaż do nie końca poprawnie nazywany „serwerem”), który pozwala na uruchomienie aplikacji jednym kliknięciem.

Całość można podsumować wzorem:

Spring Boot = Spring Framework + Kontener Aplikacji + Konfiguracja

Spring vs Spring Boot
Źródło: https://devrant.com

Jeśli masz coś zapamiętać z tego artykułu, to zapamiętaj właśnie ten wzór. Resztę już łatwo odtworzysz, zwłaszcza jeśli to pytanie padnie na rekrutacji 🙂.

Jak widać, te rozwiązania nie są tożsame, chociaż dużo osób stosuje te terminy zamiennie.

Spring i rynek pracy

Często w ofertach pracy widnieje informacja na temat znajomości samego Spring Framework i tu trzeba być czujnym. Niektóre firmy stosują skrót myślowy lub wychodzą z założenia, że osoba znająca jedno rozwiązanie zna również drugie.

W praktyce nikt nie zaczyna już nowych projektów w „czystym” Springu (chyba, że są ku temu ważne powody). Wszystko sprowadza się do wykorzystywania Spring Boota – ze względu na jego prostotę i łatwość wdrożenia. Mimo to w wielu starszych projektach nadal jest wykorzystywany „czysty” Spring.

Czasem można spotkać się z określeniem, że Spring Boot działa „magicznie”. To wszystko dlatego, że posiada własną, domyślną konfigurację. I faktycznie, dla osób nie mających świadomości jak ona działa, to wszystko może wydawać się magiczne 🙂. Pewnie z tego powodu Spring Boot nie od razu został przyjęty z otwartymi ramionami i minęło trochę czasu, zanim najbardziej konserwatywni programiści zaczęli go akceptować i doceniać.

Kiedy zacząć naukę z frameworkiem?

Ilu programistów, tyle opinii – jednak ja przedstawię Ci to obiektywnie.

Dużo osób uważa, że nauka programowania powinna wyglądać sekwencyjnie, więc zanim dojdziemy do frameworków, powinniśmy „zaliczyć” następujące etapy:

  1. Znamy bardzo dobrze Javę;
  2. Stosujemy w praktyce wzorce projektowe, algorytmy, struktury danych, OOP;
  3. Swobodnie posługujemy się SQL;
  4. Dobrze ogarniamy ORM/Hibernate;
  5. Świetnie rozumiemy protokół HTTP;
  6. Wiedzę tą mamy popartą praktyką i projektami;
  7. Dopiero wtedy powinniśmy uczyć się frameworków.

Powyższe podejście jest argumentowane tym, że osoby, które za wcześnie zaczną uczyć się frameworka, często stosują wiele uproszczeń dostarczanych przez gotowe rozwiązania danego frameworka. W rezultacie tworzą funkcjonujące rozwiązania, ale bez zrozumienia jak to naprawdę działa.

I podejście to jest bardzo zasadne… ale nie zawsze się sprawdza 😔

Poznanie Springa/Spring Boota na wcześniejszym etapie (jednak wcześniej niż przed punktem 3 nie ma to sensu) może sprawić, że praca z frameworkiem dostarczy nam tyle radości i satysfakcji, że sam proces uczenia się będzie:

  • szybszy;
  • skuteczniejszy;
  • wydajniejszy.

W swoich szkoleniach zawsze dbam o to, aby Student miał wysoki wskaźnik motywacji do działania. Pokazanie fajnej technologi w cyklu dość żmudnej nauki programowania może dostarczyć Ci takiego kopa do działania, że w jeden wieczór zmotywujesz się i nauczysz dużo więcej niż przez kilka dni sekwencyjnej nauki. Tak więc praca z frameworkami może być świetnym przykładem nauki poprzez zabawę.

Osobiście nie przesądzam, które z tych podejść jest lepsze – po prostu jestem zdania, że program nauczania powinien być dostosowany do Studenta, a nie Student do programu nauczania 🙂.

Spring i Spring Boot – który wybrać?

Wszystko zależy od tego, co chcesz osiągnąć. Jednak jeśli zależy Ci, aby iść z duchem czasu i pracować z najnowszymi technologiami, to zdecydowanie postaw na Boota 🙂

Natomiast jeśli w Twojej wymarzonej firmie, z którą chcesz się związać, praktykują Springa, to wybór jest raczej oczywisty.

Podsumowując, to bez znaczenia czy wybierzesz jedno rozwiązanie czy drugie, bo jestem przekonany, że poradzisz sobie w obu. Znając tylko Boota lub tylko Springa, może więcej czasu spędzisz na googlowaniu i nie będziesz mieć zawrotnej biegłości w implementacji, jednak działanie mechanizmów jest praktycznie identyczne.

Spring i Spring Boot – najlepsze materiały do nauki

Ponieważ to właśnie Spring Boot dominuje wśród nowych rozwiązań i w mojej opinii jest bardziej przyszłościowy, to sam w swojej działalności zdecydowałem się tworzyć materiały tylko dla tego rozwiązania. Znajdziesz u mnie:

A zaczniemy szkoleniem online w trakcie, którego:

🎯 opowiem tutaj więcej o kontekstach Spring
🎯 zasadach wykorzystywania beanów i gdzie są one przechowywane
🎯 jak ładuje się kontekst Springa i jak to wygląda przy testach
🎯 o najlepszych sposobach do budowania wiedzy na temat Spring!
🎯 na koniec webinaru konkurs wiedzy w trakcie którego będzie można wygrać mojego prebooka na temat Spring Boot! 🙂
🔗https://youtu.be/BP0pIm4f6wM

Jak to wygląda w praktyce?

Jeśli chcesz wiedzieć, jak zacząć pracę z tym frameworkiem, obejrzyj jeden z moich darmowych materiałów. Nie musisz się wysilać, aby od razu wszystko zrozumieć. Najważniejsze, aby ocenić, czy ten rodzaj frameworka Ci się podoba i chcesz rozpocząć przygodę z jego nauką. A po pełne zrozumienie zawsze możesz wrócić do rozpiski powyżej ☺️

Dołącz do mojego newstlettera dla początkujących!

Jeśli chcesz otrzymywać ode mnie regularne wiadomości dotyczące nauki tego frameworka, to zapisz się:

a ten newsletter już dla doświadczonych Springowców 😊 👇

Napisane przez Przemysław Bykowski

Aktywny programista i energiczny trener. Specjalizuje się w Spring Boot i uczę go w ramach AkademiaSpring.pl. Po godzinach udzielam się na YouTubach. Więcej o mnie.

Dodaj komentarz

testy jednostkowe, testy integracyjne, testy end to end

Testy integracyjne – najlepsze praktyki w 3 krokach

Schemat działania Spring Context

Spring Context – Jak Działa Kontener IoC?