Spring MVC - konfiguracja i uruchomienie pierwszej aplikacji Skip to content →

Spring MVC – konfiguracja i uruchomienie pierwszej aplikacji

Nauka każdego frameworka wiąże się zawsze z jedną rzeczą: prędzej czy później będziemy musieli zmierzyć się z konfiguracją i uruchomieniem pierwszej aplikacji. Każdy poradnik, książka czy film zawsze zawiera informacje o tym jak prawidłowo przygotować do pierwszego uruchomienia taką aplikację. Proces ten czasami przebiega bardzo szybko i przyjemnie, a czasami spędzamy nad nim długie godziny.  Dlaczego? Najczęściej, dlatego że została wydana aktualizacja frameworka lub używane biblioteki nie są już ze sobą kompatybilne.

Tematem tego wpisu będzie pierwsza aplikacja utworzona za pomocą frameworka Spring. Konfiguracja i pierwsze uruchomienie nie powinno zająć więcej niż 15 minut.

Generowanie konfiguracji

W pierwszej kolejności musimy wejść na stronę start.spring.io. Serwis ten umożliwi nam wygenerowanie podstawowej konfiguracji zapewniając kompatybilność wersji używanych komponentów oraz brak błędów w plikach.

Kolejnym krokiem będzie rozwinięcie ukrytych opcji poprzez kliknięcie na Switch to full version.  Powinieneś zobaczyć rozbudowany formularz, który będziemy wypełniali w następnych krokach.

Formularz start.spring.io - Spring MVC

Zacznijmy od określenia z jakiego managera projektu oraz wersji biblioteki Spring Boot chcemy korzystać. Maven oraz najnowsza wersja będą dobrym wyborem.

Następnie przejdźmy do sekcji „Project Metadata”. Dane, które wpiszemy w tym formularzu będą używane do wygenerowania podstawowych znaczników pliku pom.xml . Więcej informacji na ich temat można znaleźć w oficjalnej dokumentacji Mavena.

Konfiguracja projektu pom - Spring MVC

Kolejnym krokiem jest dodanie interesujących nas elementów frameworka Spring. Dodajmy dwa podstawowe: Web (sekcja Web) oraz Actuator (sekcja Ops).

Wygenerujmy paczkę klikając na  „Generate Project” i poczekajmy aż wygenerowane archiwum zostanie ściągniete na dysk. Po zakończeniu pobierania wypakuj pobrany plik i przejdź do jego wnętrza. Gdy otworzymy plik pom.xml  zobaczymy, że znajdują się tam informacje wpisane w sekcji Project Metadata.

Przykładowy kontroler

Kolejnym krokiem i jednym z ostatnich będzie dodanie własnego kontrolera w celu przetestowania poprawności działania aplikacji. Przejdźmy do folderu src/main/java/com/example  (dla tego przykładu). Utwórz w nim plik o nazwie HelloController.java :

Uruchomienie aplikacji

Przyszedł czas na uruchomienie aplikacji. Z poziomu konsoli poleceń musimy przejść do folderu, gdzie znajduje się plik pom.xml. Wpisujemy polecenie  mvn spring-boot:run. Tutaj należy dodać, że powinniśmy mieć już zainstalowanego i skonfigurowanego managera projektu Maven.

W czasie budowania projektu nie powinien pojawić się żaden błąd oraz informacja o wyjątku. Zakończenie całego procesu będzie sygnalizowane przez informację:

Aplikację można uruchomić również poprzez deploy do kontenera webowego Tomcat. Wymagana do tego jest konfiguracja pluginu tomcat7-maven-plugin . Proces konfiguracji został opisany w poście MAVEN – UMIESZCZANIE ARCHIWUM WAR W INSTANCJI KONTENERA TOMCAT.

Testowanie aplikacji

W ostatnim kroku musimy dostać się do aplikacji za pomocą adresu URL. Bardzo ważną informacją jest ścieżka pod którą został umieszczony nasz projekt. Aby ją odnaleźć musisz zlokalizować linię z informacją o porcie, na którym nasłuchuje nasza aplikacja:

Znając ścieżkę możemy dostać się do naszej aplikacji poprzez adres. W tym miejscu możesz wykorzystać przeglądarkę lub polecenie curl  w konsoli.

Pojawienie się napisu “Your first Spring application.” oznacza, że aplikacja została uruchomiona poprawnie.

Gratulacje! Możesz przystąpić do dalszego rozbudowywania swojego programu.

Przydatne linki

  1. Generowanie projektów Spring – start.spring.io/
  2. Dokumentacja managera Maven – maven.apache.org/guides/
  3. Informacje o pluginie Tomcat Maven – tomcat.apache.org/maven-plugin-2.2/tomcat7-maven-plugin/plugin-info.html
  4. Informacje o pliku hosts – pl.wikipedia.org/wiki/Hosts

Published in Programming

  • Thanks for post and presentation from Devoxx 😉

    • You’re welcome 🙂 I’m trying to keep up with videos form Devoxx (and others) and systematically share the most interesting ones 🙂