Projekt startowy Spring Boot

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ę:
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        	return builder.sources(Application.class);
        }
    
    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:
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
    
  • 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.
    server.port=8080
    spring.mvc.favicon.enabled = false
    security.basic.enabled=false
    
    spring.h2.console.enabled=true
    spring.h2.console.path=/console/
    spring.h2.console.settings.web-allow-others=true
    
    spring.jpa.hibernate.ddl-auto=create-drop
    
  • 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


Zarówno aplikacja online, jak i wszystkie kursy Springa, a także Kurs Aplikacji Web - Mega pakiet, są zbudowane na bazie Spring Boot-a.
Zdjęcie autora
Autor: Jarek Klimas
Data: 03 stycznia 2024
Labele: Backend, Podstawowy, Java
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

Stale się rozwijamy, a więc bądź na bieżąco!
Na ten adres będziemy przesyłać informacje o ważniejszych aktualizacjach, a także o nowych materiałach pojawiających się na stronie.
Polub nas na Facebooku:
Nasi partnerzy: stackshare
Javappa to również profesjonalne usługi programistyczne oparte o technologie JAVA. Jeśli chesz nawiązać z nami kontakt w celu uzyskania doradztwa bądź stworzenia aplikacji webowej powinieneś poznać nasze doświadczenia.
Kliknij O nas .


Pozycjonowanie stron: Grupa TENSE