CodeGym /Java blog /Véletlen /8. rész. Írjunk egy kis alkalmazást a Spring Boot segítsé...
John Squirrels
Szint
San Francisco

8. rész. Írjunk egy kis alkalmazást a Spring Boot segítségével

Megjelent a csoportban
Ez az anyag a „Bevezetés a vállalkozásfejlesztésbe” sorozat befejező része. Korábbi cikkek: 8. rész. Írjunk egy kis alkalmazást a Spring Boot segítségével – 1Nézzük meg az MVC legegyszerűbb megvalósítását a Spring MVC példaként. Ehhez írunk egy kis Hello World alkalmazást a Spring Boot segítségével. Lépésről lépésre adok utasításokat, így mindent megismételhet. Először írunk egy kis pályázatot, majd kielemezzük.

1. lépés: Spring Boot alkalmazás létrehozása az IntelliJ IDEA-ban.

Új projekt létrehozásához használja a Fájl -> Új -> Projekt… parancsot. A megnyíló ablak bal oldali menüjében válassza a Spring Initializr elemet, és válassza ki a Project SDK-t. Hagyja meg az Initializr Service URL beállítás alapértelmezett értékét. 8. rész. Írjunk egy kis alkalmazást a Spring Boot - 2 segítségévelKattintson a "Tovább" gombra. A következő ablakban ki kell választanunk a projekt beállításait. Lesz egy Maven projektünk. Válassza ki a Maven Project típust. Töltse ki a Csoport és Műtermék mezőket Kattintson a Tovább gombra. 8. rész. Írjunk egy kis alkalmazást a Spring Boot segítségével – 3A következő ablakban ki kell választanunk azokat a Spring Framework összetevőket, amelyeket használni fogunk. Nekünk kettő is elég:
  • A Spring Web egy olyan összetevő, amely lehetővé teszi webalkalmazások létrehozását. Ez a komponens tartalmazza a tavaszi MVC-t.
  • A Thymeleaf a sablonmotorunk. Ez egy olyan dolog, amely lehetővé teszi számunkra, hogy adatokat küldjünk a Java-ból HTML-oldalakra
8. rész. Írjunk egy kis alkalmazást a Spring Boot segítségével – 48. rész. Írjunk egy kis alkalmazást a Spring Boot - 5 segítségévelA következő ablakban válassza ki a projekt nevét és helyét a fájlrendszerben: 8. rész. Írjunk egy kis alkalmazást a Spring Boot - 6 segítségévelKattintson a "Befejezés" gombra. A projekt létrejön. A következő projektstruktúrát kapjuk: 8. rész. Írjunk egy kis alkalmazást a Spring Boot - 7 segítségévelItt 2 fájlra vagyunk kíváncsiak: pom.xml (telepítési leíró). Ezzel a funkcióval gyorsan és egyszerűen importálhat könyvtárakat különböző keretrendszerekből projektünkbe. Ugyanitt konfiguráljuk az alkalmazásunk felépítését is. Alkalmazásunk a Maven használatával készült, és a pom.xml a konfigurációs fájl ehhez a build rendszerhez. A Java osztály az MvcDemoApplication. Ez az alkalmazásunk fő osztálya. Ebből indítjuk a Spring Boot projektünket. A kezdéshez futtassa az osztály fő metódusát. Íme az osztály kódja, valamint a pom.xml fájl: MvcDemoApplication:

@SpringBootApplication
public class MvcDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(MvcDemoApplication.class, args);
    }

}
pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.codegym/groupId>
    <artifactId>mvc_demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mvc_demo</name>
    <description>Spring MVC Demo</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

2. lépés Weboldal létrehozása

Alkalmazásunk rendkívül egyszerű lesz. Lesz egy főoldalunk (index.html), amely tartalmazni fog egy linket az üdvözlő oldalra (greeting.html). Az üdvözlő oldalon egy üdvözletet jelenítünk meg. URL-paraméterek segítségével adjuk át az üdvözletben használandó nevet a greeting.html oldalnak. Hozzuk létre alkalmazásunk főoldalát – index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Main page</title>
</head>
<body>
    <p>Get your greeting <a href="/greeting">here</a></p>
</body>
</html>
Most létrehozzuk a greeting.html oldalt:

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Serving Web Content</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>
Oldalunkon van egy <p th:text="'Hello, ' + ${name} + '!'" />tag, ami nem normális a HTML-nél. A címke thattribútuma pa Thymeleaf sablonmotor által használt mechanizmus. A pcímke értéke "Hello, " + a nameváltozó értéke, amelyet Java kódban állítunk be.

3. lépés: Vezérlő létrehozása

Az mvc_demo csomagon belül létrehozunk egy vezérlőcsomagot, amelyben létrehozzuk a vezérlőnket, a HelloWorldControllert:

@Controller
public class HelloWorldController {

   @RequestMapping(value = "/greeting")
   public String helloWorldController(@RequestParam(name = "name", required = false, defaultValue = "World") String name, Model model) {
       model.addAttribute("name", name);
       return "greeting";
   }

}
Egyrészt nagyon kevés a kód, másrészt viszont sok minden történik. Kezdjük az elemzést. A @Controller annotáció azt jelzi, hogy ez az osztály egy vezérlő. Tavasszal a vezérlők meghatározott URL-ekre irányított HTTP-kéréseket dolgoznak fel. Osztályunkban van egy helloWorldController metódus, amely a @RequestMapping(value = "/greeting") annotációval van megjelölve. Ez a megjegyzés azt jelzi, hogy ez a módszer a /greeting URL-re irányított HTTP GET kéréseket dolgozza fel. Más szóval, ez a metódus akkor lesz meghívva, ha valaki a /greeting mappába navigál. Ez a metódus egy karakterláncot ad vissza. A Spring MVC szerint a vezérlő metódusnak vissza kell adnia a nézet nevét. Ezután a Spring egy azonos nevű HTML-fájlt fog keresni, amelyet válaszként a HTTP-kérésre küld vissza. Amint látod, Módszerünk 2 érvből áll. Nézzük meg őket: 1. paraméter: @RequestParam(név = "név", kötelező = false, defaultValue = "World") Karakterlánc neve. A @RequestParam annotáció azt jelzi, hogy a String name paraméter egy URL-paraméter. Ha a megjegyzés azt jelzi, hogy ez az URL-paraméter nem kötelező (kötelező = false), akkor ha hiányzik, a String name paraméter értéke "World" (defaultValue = "World") lesz. Ha jelen van, akkor az URL paraméter a „name” lesz (név = „név”). Lehet, hogy itt sok mindent nem értesz. Mutassunk néhány példát. Az alábbi táblázat bemutatja, hogy mi lesz a String name paraméter értéke, a /greeting elérésének különféle lehetőségeivel (URL paraméterekkel és anélkül)
Példa URL A karakterláncnév értéke
/üdvözlet Világ
/greeting?name=Amigo Amigo
/greeting?name=Zor Zor
2. paraméter: A második paraméter egy modellmodell. Ez a paraméter valamilyen modell. Ez a modell különféle belső tulajdonságokból áll. Minden attribútumnak van neve és értéke. Valami olyan, mint a kulcs-érték párok. Ezzel a paraméterrel adatokat küldhetünk Java kódból HTML oldalakra. Vagy az MVC terminológiát használva küldjön adatokat a modellből a nézetbe. Már csak az utolsó sort kell megvizsgálni. Így küldünk adatokat a Java-ból a HTML-be, vagy a modellből a nézetbe. A metódus a következő sort tartalmazza: model.addAttribute("name", name); Itt létrehozunk egy név nevű új attribútumot, és hozzárendeljük a name paraméter értékét. Ne feledje, nemrégiben megbeszéltük a <p th:text = "'Hello,' + ${name} + '!'" /> Azt mondtuk, hogy a p címke értéke "Hello, " + a névváltozó értéke, amelyet Java kódban fogunk beállítani. Ezt az értéket a vonal segítségével állítjuk be model.addAttribute("name", name);

5. lépés: Fuss

A kezdéshez le kell futtatnunk az MvcDemoApplication osztály fő metódusát: 8. rész. Írjunk egy kis alkalmazást a Spring Boot - 9 segítségévelA naplókban látni fogjuk, hogy webes alkalmazásunk a 8080-as portról indult: Ez pedig azt jelenti, hogy böngészőben a http://8. rész. Írjunk egy kis alkalmazást a Spring Boot - 10 segítségével címen lévő oldalra léphetünk. localhost:8080 : 8. rész. Írjunk egy kis alkalmazást a Spring Boot - 11 segítségévelItt van az index.html oldal. Kövessük az üdvözlő oldalra mutató hivatkozást: 8. rész. Írjunk egy kis alkalmazást a Spring Boot - 12 segítségévelEbben az átmenetben a vezérlőnket hívták meg. Nem adtunk át paramétereket az URL-en. Ennek eredményeként a name attribútum a megjegyzésben feltüntetett alapértelmezett értéket ("Világ") veszi fel. Próbáljuk meg átadni a paramétert az URL-en keresztül: 8. rész. Írjunk egy kis alkalmazást a Spring Boot - 13 segítségévelMinden a szándék szerint működik. Most próbálja meg nyomon követni a névváltozó útvonalát:
  1. A felhasználó átadta a "name=Amigo" kifejezést az URL-ben ->
  2. A vezérlő feldolgozta a műveletünket, megkapta a névváltozót, és a kapott értékkel egy name nevű modellattribútumot állított be ->
  3. Ezek az adatok a modellből megtekinthetők, a greeting.html oldalra kerültek, és megjelentek a felhasználó számára
Egyenlőre ennyi!

Ma az MVC (Model - View - Controller) meglehetősen nagy és érdekes témájával ismerkedtünk meg. Ezzel véget ért a sorozat, amelynek célja, hogy bemutassa, mit kell tudnia a vállalati fejlesztés megkezdése előtt.

A megjegyzésekben írja meg, hogy mely témák érdeklik Önt – mi foglalkozunk velük!

Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION