CodeGym /Java Blog /Random /Bahagi 8. Sumulat tayo ng isang maliit na application gam...
John Squirrels
Antas
San Francisco

Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot

Nai-publish sa grupo
Ang materyal na ito ay ang pangwakas na bahagi ng seryeng "Introduction to Enterprise Development". Mga nakaraang artikulo: Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 1Tingnan natin ang pinakasimpleng pagpapatupad ng MVC gamit ang Spring MVC bilang isang halimbawa. Para magawa ito, magsusulat kami ng maliit na Hello World application gamit ang Spring Boot. Bibigyan kita ng sunud-sunod na mga tagubilin, para maulit mo ang lahat nang mag-isa. Una, magsusulat kami ng isang maliit na application, at pagkatapos ay susuriin namin ito.

Hakbang 1. Paglikha ng Spring Boot application sa IntelliJ IDEA.

Gamitin ang File -> Bago -> Proyekto… para gumawa ng bagong proyekto. Sa window na bubukas, sa kaliwang bahagi ng menu, piliin ang Spring Initializr, at piliin ang Project SDK. Iwanan ang default para sa opsyon ng Initializr Service URL. Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 2I-click ang "Next" button. Sa susunod na window, kailangan nating piliin ang mga setting ng proyekto. Magkakaroon tayo ng Maven project. Piliin ang Maven Project bilang uri. Punan ang Group at Artifact fields I-click ang Susunod. Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 3Sa susunod na window, kailangan nating piliin ang mga bahagi ng Spring Framework na gagamitin natin. Dalawa ay sapat na para sa atin:
  • Ang Spring Web ay isang bahagi na nagbibigay-daan sa amin na lumikha ng mga web application. Kasama sa bahaging ito ang Spring MVC.
  • Ang Thymeleaf ay ang aming template engine. Ito ay isang bagay na nagbibigay-daan sa amin na magpadala ng data mula sa Java patungo sa mga HTML na pahina
Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 4Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 5Sa susunod na window, piliin ang pangalan at lokasyon ng proyekto sa file system: Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 6I-click ang button na "Tapos na". Ang proyekto ay nilikha. Natapos namin ang sumusunod na istraktura ng proyekto: Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 7Dito kami ay interesado sa 2 file: pom.xml (deployment descriptor). Hinahayaan ka ng bagay na ito na mabilis at madaling mag-import ng mga library mula sa iba't ibang mga frameworks sa aming proyekto. Dito rin namin kino-configure kung paano binuo ang aming application. Ang aming application ay binuo gamit ang Maven, at ang pom.xml ay ang configuration file para sa build system na ito. Ang klase ng Java ay MvcDemoApplication. Ito ang pangunahing klase ng aming application. Ilulunsad namin ang aming proyekto sa Spring Boot mula dito. Upang magsimula, patakbuhin lamang ang pangunahing paraan ng klase na ito. Narito ang code para sa klase na ito, pati na rin ang pom.xml file: 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>

Hakbang 2. Paglikha ng isang webpage

Ang aming aplikasyon ay magiging napakasimple. Magkakaroon tayo ng pangunahing pahina (index.html), na maglalaman ng link sa welcome page (greeting.html). Sa pahina ng pagbati, ipinapakita namin ang isang pagbati. Gagamit kami ng mga parameter ng URL para ipasa ang pangalang gagamitin sa pagbati sa greeting.html page. Gawin natin ang pangunahing pahina ng aming application — 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>
Ngayon ay gagawa kami ng greeting.html na pahina:

<!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>
May <p th:text="'Hello, ' + ${name} + '!'" />tag ang aming page, na hindi normal para sa HTML. Ang thkatangian ng ptag ay isang mekanismo na ginagamit ng Thymeleaf template engine. Ang pvalue ng tag ay magiging "Hello," + ang value ng namevariable , na itatakda namin sa Java code.

Hakbang 3. Paglikha ng controller

Sa loob ng mvc_demo package, gagawa kami ng contoller package, kung saan gagawa kami ng aming controller, 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";
   }

}
Sa isang banda mayroong napakakaunting code, ngunit sa kabilang banda, maraming nangyayari. Simulan natin ang ating pagsusuri. Ang @Controller annotation ay nagpapahiwatig na ang klase na ito ay isang controller. Sa Spring, pinoproseso ng mga controller ang mga kahilingan sa HTTP na nakadirekta sa mga partikular na URL. Ang aming klase ay may helloWorldController na paraan na minarkahan ng @RequestMapping(value = "/greeting") annotation. Isinasaad ng anotasyong ito na ang pamamaraang ito ay nagpoproseso ng mga kahilingan sa HTTP GET na nakadirekta sa /greeting URL. Sa madaling salita, ang paraang ito ay gagamitin kung may magna-navigate sa /greeting. Ang pamamaraang ito ay nagbabalik ng isang String. Ayon sa Spring MVC, dapat ibalik ng paraan ng controller ang pangalan ng view. Susunod, maghahanap ang Spring ng HTML file na may parehong pangalan, na ibabalik nito bilang tugon sa kahilingan sa HTTP. Tulad ng nakikita mo, Ang aming pamamaraan ay tumatagal ng 2 argumento. Tingnan natin ang mga ito: Parameter 1: @RequestParam(name = "name", required = false, defaultValue = "World") String name. Ang @RequestParam annotation ay nagpapahiwatig na ang String name parameter ay isang parameter ng URL. Kung ang anotasyon ay nagpapahiwatig na ang parameter ng URL na ito ay opsyonal (kinakailangan = false), kung gayon kung wala ito, ang value ng parameter ng String name ay magiging "World" (defaultValue = "World"). Kung naroroon ito, ang parameter ng URL ay magiging "pangalan" (pangalan = "pangalan"). Maaaring marami kang hindi maintindihan dito. Magbigay tayo ng ilang halimbawa. Ipinapakita ng talahanayan sa ibaba kung ano ang magiging value ng parameter ng String name, na may iba't ibang opsyon para sa pag-access /pagbati (may mga parameter ng URL at walang)
Halimbawang URL Halaga ng pangalan ng String
/bati mundo
/greeting?name=Amigo Amigo
/greeting?name=Zor Zor
Parameter 2: Ang pangalawang parameter ay isang Modelong modelo. Ang parameter na ito ay ilang modelo. Ang modelong ito ay binubuo ng iba't ibang panloob na katangian. Ang bawat katangian ay may pangalan at halaga. Isang bagay na tulad ng key-value pairs. Magagamit namin ang parameter na ito upang magpadala ng data mula sa Java code patungo sa mga HTML na pahina. O, gamit ang terminolohiya ng MVC, magpadala ng data mula sa modelo sa view. Ito ay nananatili lamang upang suriin ang huling linya. Ito ay kung paano kami nagpapadala ng data mula sa Java patungo sa HTML, o mula sa modelo hanggang sa view. Kasama sa pamamaraan ang sumusunod na linya: model.addAttribute("name", name); Dito tayo ay lumikha ng isang bagong katangian na tinatawag na pangalan at itinalaga dito ang halaga ng parameter ng pangalan. Tandaan, tinalakay namin kamakailan ang <p th:text = "'Hello,' + ${name} + '!'" /> Sinabi namin na ang halaga ng p tag ay "Hello," + ang halaga ng variable ng pangalan, na itatakda namin sa Java code. Itinakda namin ang halagang ito gamit ang linya model.addAttribute("name", name);

Hakbang 5. Tumakbo

Upang magsimula, kailangan nating patakbuhin ang pangunahing paraan ng klase ng MvcDemoApplication: Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 9Sa mga log, makikita natin na nagsimula ang ating web application sa port 8080: Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 10At nangangahulugan ito na sa isang browser, maaari tayong pumunta sa pahina sa http:// localhost:8080 : Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 11Narito mayroon kaming pahina ng index.html. Sundan natin ang link sa page ng pagbati: Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 12Ang aming controller ay na-invoke sa transition na ito. Hindi kami nagpasa ng anumang parameter sa URL. Bilang resulta, ang attribute ng pangalan ay tumatagal sa default na halaga ("World") na nakasaad sa anotasyon. Subukan nating ipasa ang parameter sa pamamagitan ng URL: Bahagi 8. Sumulat tayo ng isang maliit na application gamit ang Spring Boot - 13Lahat ay gumagana ayon sa nilalayon. Ngayon subukang subaybayan ang landas ng variable ng pangalan:
  1. Ipinasa ng user ang "name=Amigo" sa URL ->
  2. Pinoproseso ng controller ang aming aksyon, natanggap ang variable ng pangalan, at nagtakda ng isang katangian ng modelo na tinatawag na pangalan na katumbas ng natanggap na halaga ->
  3. Ang data na ito ay nakita mula sa modelo, na nagtatapos sa greeting.html page, at ipinakita sa user
Yun lang muna!

Ngayon ay nakilala namin ang medyo malaki at kawili-wiling paksa ng MVC (Model - View - Controller). Ito ang katapusan ng serye na idinisenyo upang ipakilala sa iyo ang kailangan mong malaman bago simulan ang pagbuo ng negosyo.

Sa mga komento, sabihin sa amin kung aling mga paksa ang interesado ka — Tatalakayin namin ang mga ito!

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