Spring to cała platforma do programowania backendu aplikacji webowych, mikroserwisów i innych rozwiazań IT.
Częścią Springa jest rozwiązanie, które niezwykle upraszcza korzystanie z najważniejszych elementów platformy.
Spring Boot, bo o nim mowa daje nam możliwość szybkiego i komfortowego rozpoczęcia przygody z platformą Spring.
W poniższym filmie zobaczysz, jak w 2 minuty stworzyć projekt Spring Boot 3 (Spring Framework 6),
jak zaimportować go do IntelliJ oraz jak zbudować ten projekt Mavenem i jak go uruchomić.
Jeśli chcesz wiecej filmów, koniecznie polub bieżące video i subskrybuj nasz kanał!
Struktura projektu Spring Boot
Typowy projekt Spring Boot posiada kilka charakterystycznych elementów, wśród których wyróżniamy klasę - u nas nazwaną
Application - zawierającą specjalną adnotację i interfejs oraz pliki konfiguracyjne Spring Boot i Maven:
- Adnotacja — Adnotacja o nazwie @SpringBootApplication
Zawiera ona kilka innych adnotacji, które są kluczowe w przypadku budowania aplikacji w oparciu o Spring Boot-a:
- @SpringBootConfiguration - wskazuje, że klasa oznaczona tą adnotacją dostarcza aplikację Spring Boot
- @EnableAutoConfiguration - włącza autokonfigurację kontekstu Springa (Spring Application Context)
- @ComponentScan - umożliwia wykonanie procedury skanowania klas w poszukiwaniu komponentów,
które mają zostać zainicjowane, a następnie umieszczone w kontenerze Springa
- Interfejs — Interfejs o nazwie WebApplicationInitializer, a nawet lepiej - klasa abstrakcyjna implementująca ten interfejs - SpringBootServletInitializer
Klasa, która rozszerza SpringBootServletInitializer umożliwia nam użycie metody konfigurującej naszą aplikację:
Appa Notka. Dodanie SpringBootServletInitializer nie zawsze jest wymagane. Jest potrzebne w przypadku deployowania (instalowania) aplikacji w kontenerze aplikacji web (np. Tomcat),
jeśli aplikacja ta została przygotowana w postaci pliku WAR. Metoda configure powinna wskazywać na klasę uruchomieniową naszej aplikacji Spring Boot.
Dla aplikacji uruchamianych bezpośrednio lub za pomocą wiersza poleceń,
implementacja SpringBootServletInitializer nie jest wymagana. W takich przypadkach
aplikacja domyślnie korzysta z wbudowanego serwera Tomcat zapewnianego przez Spring
Boot. Dlatego, jeśli dopiero rozpoczynasz pracę ze Spring Boot lub nie planujesz
wdrażania aplikacji w formacie WAR na zewnętrznym serwerze, nie musisz implementować tej
klasy.
- Metoda uruchomieniowa — Statyczna metoda main, zawierająca kod uruchamiający aplikację Spring Boot:
- Plik konfiguracyjny — Plik o nazwie application.properties, albo application.yml
W ten sposób możemy sterować wieloma ustawieniami aplikacji, np. możemy podać port pod którym ma się ona uruchomić.
Więcej w tym temacie możesz znaleźć w rozdziale
Spring Boot - Konfiguracja.
- Plik Maven — Mavenowy plik pom.xml, w którym musimy umieścić odwołanie do odpowiedniego parent-a (projekt rodzica)
oraz dodać odpowiednie szablony startowe. Więcej w tym temacie piszemy w rozdziale
Spring Boot - Maven.
Appa Notka.
Projekt startowy Spring Boot można wygenerować za pomocą rozwiązania Spring Boot Initializr, do którego link znajduje się w sekcji "Topowe Materiały" na dole strony.
Spring Initializr jest usługą, która pozwala na wygenerowanie projektu o dowolnej konfiguracji.
Możemy na przykład wybrać wersję Javy, rodzaj projektu, czy też zależności, których chcemy używać.
Rekomendacja
Programowanie w Javie często wiąże się z użyciem Springa, a kluczową rolę w tej platformie
odgrywa Spring Boot. Jest on popularny zarówno w dużych korporacjach, jak i nowych startupach,
ponieważ upraszcza proces tworzenia aplikacji, pozwalając skupić się na logice biznesowej.
To podejście odzwierciedla motyw przewodni Springa - "konwencja ponad konfiguracją", zachęcając
do pisania kodu,
który jest bardziej zwięzły i konkretny.
Appa Notka. Zajrzyj do naszego Kursu Aplikacji Web - Mega pakiet.
Pierwszy w polskim internecie, rozbudowany kurs tworzenia aplikacji webowej na podstawie
gotowej aplikacji, którą ściągniesz na swój komputer. Implementacja krok po kroku, drogowskazy do miejsc, w których uzupełnisz wiedzę
teoretyczną, a także inne pomocne rozwiązania.
Praktyka
Autor: Jarek Klimas
Data: 03 stycznia 2024
Labele: Backend, Podstawowy, Java
Czy informacje, które otrzymałeś, były pomocne?
Jeśli tak, zapraszam Cię do podarowania mi kawy.
Topowe Materiały
Spring IO: Spring Initializr
Spring IO: Spring Boot
Baeldung: Learn Spring Boot
Udemy: [NEW] Spring Boot 3, Spring 6 & Hibernate for Beginners — polskie napisy