Tym wpisem rozpoczynam całą serię tekstów, które można określić jako Kurs Springa. Na pierwszy ogień idzie konfiguracja Springowego projektu za pomocą Spring Initializr.
Na początku zadajmy sobie inne pytanie – czym jest Spring? Można go nazwać w praktyce całym ekosystemem. Narodził się na początku XXI wieku jako odpowiedź na bardzo toporną Javę EE z EJB 2.0, oferując własny sposób łączenia aplikacji z bazą danych, walidacji, wstrzykiwania zależności czy programowania aspektowego. Obecnie istnieje wręcz otwarta rywalizacja między “czystym” JEE a jego największym frameworkiem.
Dziś zaczynamy od Spring Initializr. Jest to narzędzie udostępniane przez twórców Springa mające na celu ułatwienie rozpoczynania projektu z wykorzytaniem Springa i Spring Boot.
Co to Spring Boot?
Tak jednym słowem – to rozwiązanie – klucz. Pozwala na automatyczną, szybką konfigurację całej aplikacji reprezentując podejście convention over configuration. Aplikacja utworzona z wykorzystaniem SB jest pakowana do pliku jar, więc można ją w prosty sposób uruchomić. Ciekawostką jest fakt, że w paczce ze Spring Bootem znajduje się serwer aplikacyjny, co oznacza, że przy uruchomieniu aplikacji tak naprawdę uruchamiamy serwer, na który deployowany jest plik war. Umożliwia to rozpoczęcie prac nad aplikacją bez problematycznych zawiłości konfigura?cji serwera aplikacyjnego.
Dlaczego Spring Initializr?
Spring Initializr pozwala rozpocząć prace nad aplikacją z wykorzystaniem Spring Boota. W wersji podstawowej ustawiamy jedynie swoje group id, nazwę artefaktu (aplikacji), oraz zależności (Dependencies), z których planujemy korzystać. Wszystko oczywiście z wykorzystaniem Mavena.
Poniżej zielonego buttona odpowiedzialnego za generowanie projektu, mamy możliwość przełączenia w pełną wersję Spring Initializra. Tam już wybór opcji jest dużo większy – możemy wybrać nazwę aplikacji (domyślnie – taka sama jak nazwa artefaktu), jej opis czy domyślną paczkę javową. Oprócz tego sposób paczkowania aplikacji (JAR / WAR), czy wersję Javy, w jakiej będziemy pisać. Dodatkowo mamy do wybrania ponad sto różnych bibliotek / ustawień, takich jak wybór bazy danych, schedulera, systemu kolejek, czy mechanizmów webowych.
Po kliknięciu zielonego buttona – rozpoczniemy ściąganie archiwum ZIP, w którym po rozpakowaniu będziemy mieli gotowy projekt mavenowy, a w katalogu Target – naszą aplikację spakowaną do jarki.
Ale jak to uruchomić? Maven Wrapper.
Wraz z kodami źródłowymi, pomem, czy konfiguracją, w naszej aplikacji pojawi się plik mvnw. Jest to plik wykonywalny Maven Wrappera. Jest to nakładka na Mavena, która pozwala nam na korzystanie z konkretnej wersji biblioteki nawet w przypadku, gdy nie posiadamy jej w systemie. Przydatne jest także, gdy jesteśmy zmuszeni (lub chcemy) korzystać z różnych wersji Mavena w różnych projektach.
Najprostszym sposobem uruchomienia aplikacji tak stworzonej będzie uruchomienie wrappera i wywołanie goala “spring-boot:run”.
> mvnw spring-boot:run
Spowoduje to zbudowanie aplikacji, uruchomienie serwera i osadzenie aplikacji jako deployment na serwerze aplikacyjnym.
Good article.
I absolutely appreciate this site.
Keep it up!