Spring Boot – czyli jak w 5 minut powstało RESTful API

Czasy gdy wystartowanie projektu opartego na Springu trwało godzinami przemijają. A to wszystko za sprawą Spring Boot. Dzięki niemu *.jar wrócił do łask. Zapytacie “ale jak to? Przecież nie zrobię deploy’a na tomcata(…)”.

A po co tomcat, jetty czy jakikolwiek inny serwer aplikacji ? Przecież można prościej. Spring Boot domyślnie udostępnia nam embedowaną wersję Tomcata, który jest spakowany w naszym jarku, wystarczy go tylko uruchomić.

Ale zacznijmy od początku…

Aby rozpocząć pracę musimy do naszego projektu dodać zależności do parent POM’a Springowego:

oraz plugin który zbuduje nam projekt:

nie musimy dodawać konfiguracji, ponieważ jest ona już zdefiniowana a parent pom’ie.

Pozwala nam to na natychmiastową możliwość rozpoczęcia pracy z frameworkiem. Pozostaje jedynie dodanie adnotacji

nad naszą główną klasą zawierającą metodę main. Adnotacja ta dziedziczy po:

dzięki temu mamy zapewnione, automatyczne konfigurowanie oraz wyszukiwanie komponentów. Pozostaje wywołanie w main’ie metody run z nazwą naszej klasy w parametrze:

I cała “magia” Spring Boot’a zaczyna działać.

Ale jak to wygląda w środku ?

Otóż framework dostarcza nam zestaw starterów, które definiują domyślną konfigurację oraz wszystkie potrzebne do działania wybranego startera zależności w wymaganych wersjach. Do wyboru jest wiele starterów, m.in:

  • spring-boot-starter-web (budowa aplikacji webowych, restful api…)
  • spring-boot-starter-test (testowanie)
  • spring-boot-starter-validation (validacja)
  • spring-boot-starter-security (podstawowe security)
  • spring-boot-starter-data-jpa (dostęp do DB)
  • spring-boot-starter-jdbc (j.w.)
  • spring-boot-starter-jooq (j.w.)
  • spring-boot-starter-jetty (alternatywa na wbudowanego tomcata)

Pełna lista dostępna jest w dokumentacji.

Jeśli domyślna konfiguracja nie wystarcza, możemy nadpisać ją dodając plik application.properties, *yml lub zmieniająć konfigurację programowo za pomocą beanów konfiguracyjnych.

Przykładowo jeśli chcemy zmienić domyślny port tomcata możemy to zrobić poprzez dodanie w pliku *.properties wpisu:

w *.yml:

lub za pomocą bean’a:

Gdy dostosowaliśmy konfigurację możemy dodać definicję pierwszego prostego endpointa:

Aby uruchomić aplikacje używamy polecenia:

I już po chwili możemy cieszyć się naszą pierwszą aplikacją korzystającą z Spring Boot’a.

 

Leave a Reply

Your email address will not be published. Required fields are marked *