CodeGym /Blog Java /Aleatoriu /Partea 8. Să scriem o aplicație mică folosind Spring Boot...
John Squirrels
Nivel
San Francisco

Partea 8. Să scriem o aplicație mică folosind Spring Boot

Publicat în grup
Acest material este partea finală a seriei „Introducere în dezvoltarea întreprinderii”. Articole anterioare: Partea 8. Să scriem o aplicație mică folosind Spring Boot - 1Să ne uităm la cea mai simplă implementare a MVC folosind Spring MVC ca exemplu. Pentru a face acest lucru, vom scrie o mică aplicație Hello World folosind Spring Boot. Vă voi da instrucțiuni pas cu pas, astfel încât să puteți repeta totul singur. Mai întâi, vom scrie o mică aplicație, apoi o vom analiza.

Pasul 1. Crearea unei aplicații Spring Boot în IntelliJ IDEA.

Utilizați Fișier -> Nou -> Proiect... pentru a crea un proiect nou. În fereastra care se deschide, în meniul din stânga, selectați Spring Initializr și selectați Project SDK. Lăsați valoarea implicită pentru opțiunea Initializr Service URL. Partea 8. Să scriem o aplicație mică folosind Spring Boot - 2Faceți clic pe butonul „Următorul”. În fereastra următoare, trebuie să selectăm setările proiectului. Vom avea un proiect Maven. Selectați Maven Project ca tip. Completați câmpurile Grup și Artefact Faceți clic pe Următorul. Partea 8. Să scriem o aplicație mică folosind Spring Boot - 3În fereastra următoare, trebuie să selectăm componentele Spring Framework pe care le vom folosi. Două sunt suficiente pentru noi:
  • Spring Web este o componentă care ne permite să creăm aplicații web. Această componentă include Spring MVC.
  • Thymeleaf este motorul nostru de șablon. Este un lucru care ne permite să trimitem date din Java către pagini HTML
Partea 8. Să scriem o aplicație mică folosind Spring Boot - 4Partea 8. Să scriem o aplicație mică folosind Spring Boot - 5În fereastra următoare, selectați numele și locația proiectului în sistemul de fișiere: Partea 8. Să scriem o aplicație mică folosind Spring Boot - 6Faceți clic pe butonul „Finish”. Proiectul este creat. Ajungem cu următoarea structură a proiectului: Partea 8. Să scriem o aplicație mică folosind Spring Boot - 7Aici ne interesează 2 fișiere: pom.xml (descriptor de implementare). Acest lucru vă permite să importați rapid și ușor biblioteci din diferite cadre în proiectul nostru. De asemenea, este locul în care configuram modul în care este construită aplicația noastră. Aplicația noastră este construită folosind Maven, iar pom.xml este fișierul de configurare pentru acest sistem de construcție. Clasa Java este MvcDemoApplication. Aceasta este clasa principală a aplicației noastre. Vom lansa proiectul Spring Boot din acesta. Pentru a începe, rulați metoda principală a acestei clase. Iată codul pentru această clasă, precum și fișierul pom.xml: 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>

Pasul 2. Crearea unei pagini web

Aplicația noastră va fi extrem de simplă. Vom avea o pagină principală (index.html), care va conține un link către pagina de întâmpinare (greeting.html). Pe pagina de salut, afișăm un salut. Vom folosi parametri URL pentru a transmite numele care va fi folosit în salutare către pagina greeting.html. Să creăm pagina principală a aplicației noastre — 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>
Acum vom crea pagina greeting.html:

<!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>
Pagina noastră are o <p th:text="'Hello, ' + ${name} + '!'" />etichetă, ceea ce nu este normal pentru HTML. Atributul thetichetei peste un mecanism folosit de motorul de șablon Thymeleaf. Valoarea etichetei pva fi „Bună ziua,” + valoarea variabilei name, pe care o vom seta în codul Java.

Pasul 3. Crearea unui controler

În interiorul pachetului mvc_demo, vom crea un pachet contoller, în care vom crea controlerul nostru, HelloWorldController:

@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";
   }

}
Pe de o parte, există foarte puțin cod, dar pe de altă parte, se întâmplă multe. Să începem analiza noastră. Adnotarea @Controller indică faptul că această clasă este un controler. În primăvară, controlorii procesează solicitările HTTP direcționate către anumite adrese URL. Clasa noastră are o metodă helloWorldController care este marcată cu adnotarea @RequestMapping(value = "/greeting"). Această adnotare indică faptul că această metodă procesează cereri HTTP GET direcționate către adresa URL /greeting. Cu alte cuvinte, această metodă va fi invocată dacă cineva navighează la /greeting. Această metodă returnează un String. Conform Spring MVC, metoda controlerului ar trebui să returneze numele vizualizării. În continuare, Spring va căuta un fișier HTML cu același nume, pe care îl va returna ca răspuns la cererea HTTP. După cum puteți vedea, Metoda noastră are 2 argumente. Să aruncăm o privire la ele: Parametrul 1: @RequestParam(nume = „nume”, necesar = fals, defaultValue = „Lumea”) Nume șir. Adnotarea @RequestParam indică faptul că parametrul String name este un parametru URL. Dacă adnotarea indică faptul că acest parametru URL este opțional (obligatoriu = fals), atunci dacă este absent, valoarea parametrului String name va fi „World” (defaultValue = „World”). Dacă este prezent, atunci parametrul URL va fi „nume” (nume = „nume”). S-ar putea să fie multe pe care nu le înțelegi aici. Să oferim câteva exemple. Tabelul de mai jos arată care va fi valoarea parametrului String name, cu diverse opțiuni pentru accesarea /greeting (cu și fără parametri URL)
Exemplu de adresă URL Valoarea numelui șirului
/Salut Lume
/greeting?name=Amigo Amigo
/felicitare?name=Zor Zor
Parametrul 2: Al doilea parametru este un model de model. Acest parametru este un model. Acest model constă din diferite atribute interne. Fiecare atribut are un nume și o valoare. Ceva de genul perechilor cheie-valoare. Putem folosi acest parametru pentru a trimite date din codul Java către pagini HTML. Sau, folosind terminologia MVC, trimiteți date din model în vizualizare. Rămâne doar să examinăm ultima linie. Acesta este modul în care trimitem date din Java în HTML sau de la model la vizualizare. Metoda include următoarea linie: model.addAttribute("name", name); Aici creăm un nou atribut numit nume și îi atribuim valoarea parametrului nume. Amintiți-vă, am discutat recent despre <p th:text = "'Hello,' + ${name} + '!'" /> Am spus că valoarea etichetei p este „Bună ziua,” + valoarea variabilei nume, pe care o vom seta în codul Java. Setăm această valoare folosind linia model.addAttribute("name", name);

Pasul 5. Alergați

Pentru a începe, trebuie să rulăm metoda principală a clasei MvcDemoApplication: Partea 8. Să scriem o aplicație mică folosind Spring Boot - 9În jurnale, vom vedea că aplicația noastră web a pornit pe portul 8080: Partea 8. Să scriem o aplicație mică folosind Spring Boot - 10Și asta înseamnă că într-un browser, putem merge la pagina la http:// localhost:8080 : Partea 8. Să scriem o aplicație mică folosind Spring Boot - 11Aici avem pagina index.html. Să urmăm linkul către pagina de salut: Partea 8. Să scriem o aplicație mică folosind Spring Boot - 12Controllerul nostru a fost invocat în această tranziție. Nu am trecut niciun parametru prin URL. Ca urmare, atributul nume ia valoarea implicită ("Lumea") indicată în adnotare. Să încercăm să trecem un parametru prin adresa URL: Partea 8. Să scriem o aplicație mică folosind Spring Boot - 13totul funcționează conform intenției. Acum încercați să urmăriți calea variabilei nume:
  1. Utilizatorul a transmis „name=Amigo” în adresa URL ->
  2. Controlerul a procesat acțiunea noastră, a primit variabila nume și a stabilit un atribut de model numit nume egal cu valoarea primită ->
  3. Aceste date au fost vizualizate din model, ajungând în pagina greeting.html și au fost afișate utilizatorului
Atât deocamdată!

Astăzi ne-am familiarizat cu subiectul destul de amplu și interesant al MVC (Model - Vizualizare - Controler). Acesta este sfârșitul seriei concepute pentru a vă prezenta ceea ce trebuie să știți înainte de a începe dezvoltarea întreprinderii.

În comentarii, spuneți-ne ce subiecte vă interesează — Le vom aborda!

Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION