JavaRush /Blog Jawa /Random-JV /Part 8. Nulis aplikasi cilik ing spring-boot

Part 8. Nulis aplikasi cilik ing spring-boot

Diterbitake ing grup
Materi iki minangka bagéan pungkasan saka seri "Introduction to Enterprise Development". Artikel sadurunge: Part 8. Nulis aplikasi cilik ing spring-boot - 1Ayo goleki conto paling gampang implementasi MVC nggunakake Spring-MVC minangka conto. Kanggo nindakake iki, ayo nulis aplikasi Hello World cilik ing spring-boot. Supaya sampeyan bisa mbaleni kabeh dhewe, aku bakal menehi instruksi langkah-langkah. Pisanan kita bakal nulis aplikasi cilik, banjur kita bakal nganalisa.

Langkah 1: Nggawe aplikasi spring-boot ing IntelliJ IDEA

Nggunakake File -> New -> Project... nggawe proyek anyar. Ing jendhela sing mbukak, ing menu sisih kiwa, pilih Spring Initializr, pilih Project SDK, lan ninggalake opsi URL Layanan Initializr minangka standar. Part 8. Nulis aplikasi cilik ing spring-boot - 2Klik tombol Sabanjure. Ing jendhela sabanjuré kita kudu milih paramèter project. Kita bakal duwe proyek Maven. Pilih Tipe - Proyek Maven, isi Group lan Artifact Part 8. Nulis aplikasi cilik ing spring-boot - 3banjur klik Sabanjure. Ing jendela sabanjure kita kudu milih komponen Spring Framework sing bakal digunakake. Kita mung butuh loro:
  • Spring Web minangka komponen sing ngidini kita nggawe aplikasi Web. Komponen iki kalebu Spring MVC.
  • Thymeleaf - Mesin cithakan sing diarani. Bab sing bakal ngidini kita nransfer data saka Jawa menyang kaca HTML
Part 8. Nulis aplikasi cilik ing spring-boot - 4Part 8. Nulis aplikasi cilik ing spring-boot - 5Ing jendela sabanjure, pilih jeneng lan lokasi proyek ing sistem file: Part 8. Nulis aplikasi cilik ing spring-boot - 6Klik tombol Rampung. Proyek wis digawe. Kita duwe struktur proyek ing ngisor iki: Part 8. Nulis aplikasi cilik ing spring-boot - 7Ing kene kita kasengsem ing 2 file: pom.xml - deskriptor penyebaran. Babagan sing ngidini sampeyan ngimpor perpustakaan kanthi cepet lan gampang saka macem-macem kerangka menyang proyek kita, uga minangka perkara sing kita atur ing perakitan aplikasi kita. Aplikasi kita dibangun nggunakake Maven, pom.xml minangka file konfigurasi sistem mbangun iki. Kelas Java - MvcDemoApplication. Iki minangka kelas utama aplikasi kita, saka ngendi kita bakal miwiti proyek spring-boot. Kanggo miwiti, mung mbukak cara utama ing kelas iki. Iki kode kanggo kelas iki, uga file 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.javarush</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>

Langkah 2. Nggawe kaca web

Aplikasi kita bakal gampang banget. Kita bakal duwe kaca utama - index.html, ing jero bakal ana link menyang kaca sambutan - greeting.html. Ing kaca salam kita bakal nampilake salam. Ayo ngleksanakake kemampuan kanggo ngirim jeneng salam menyang kaca greeting.html liwat paramèter url. Ayo nggawe kaca utama aplikasi kita - 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>
Saiki ayo gawe kaca 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>
Ing kene, saka kaca html atipikal, sampeyan bisa ndeleng tag: <p th:text="'Hello, ' + ${name} + '!'" /> Atribut thtag pminangka alat mesin cithakan Thymeleaf. Thanks kanggo, nilai tag pbakal dadi teks "Halo," + nilai variabel name, sing bakal disetel saka kode Jawa.

Langkah 3: Nggawe Controller

Ing paket mvc_demo kita bakal nggawe paket contoller, ing njero kita bakal nggawe 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";
   }

}
Ing tangan siji ana sethitik banget kode, nanging ing tangan liyane ana akeh arep. Ayo dadi miwiti analisis. Anotasi @Controller nuduhake yen kelas iki minangka pengontrol. Pengontrol ing Spring proses panjalukan HTTP kanggo alamat tartamtu. Kelas kita duwe metode helloWorldController, sing ditandhani karo anotasi - @RequestMapping (nilai = "/ salam"). Anotasi iki ngandhani yen cara iki ngolah panjaluk HTTP GET menyang alamat / salam. Ing tembung liyane, cara iki bakal bisa digunakake yen ana wong menyang / greeting. Cara iki ngasilake String. Miturut Spring-MVC, cara controller kudu ngasilake jeneng tampilan. Sabanjure, Spring bakal nggoleki file html kanthi jeneng sing padha, sing bakal bali minangka respon kanggo panjalukan HTTP. Kaya sing sampeyan ngerteni, cara kita ngasilake jeneng kaca web sing digawe sadurunge - salam. Cara kita njupuk 2 argumen. Ayo padha ndeleng: Parameter 1: @RequestParam(jeneng = "jeneng", dibutuhake = palsu, defaultValue = "World") String jeneng. Anotasi @RequestParam nyatakake yen parameter jeneng String minangka parameter url. Tanda kurung anotasi nuduhake yen parameter iki ing url opsional (dibutuhake = palsu), yen ora ana, nilai parameter String jeneng bakal World (defaultValue = "World"), lan yen ana, banjur parameter iki. ing url bakal disebut jeneng (jeneng = "jeneng") Mungkin ana akeh sing ora cetha ing kene. Ayo menehi conto. Tabel ing ngisor iki nuduhake apa nilai parameter String jeneng kanggo macem-macem opsi kanggo ngakses alamat / salam (nganggo lan tanpa parameter ing URL)
Tuladha URL Nilai parameter jeneng string
/salam donya
/salam?name=Amigo Amigo
/salam?name=Zor Zor
Parameter 2: Parameter kapindho yaiku Model model. Parameter iki minangka model. Model iki kalebu internal saka macem-macem atribut. Saben atribut duwe jeneng lan nilai. Soko kaya pasangan kunci-nilai. Nggunakake parameter iki, kita bisa nransfer data saka kode Jawa menyang kaca html. Utawa, ing terminologi MVC, transfer data saka Model menyang Tampilan. Iku tetep kanggo parse baris pungkasan. Cara kita ngirim data saka Jawa menyang html utawa saka Model kanggo Ndeleng. Awak metode ngemot baris ing ngisor iki: model.addAttribute("name", name); Ing kene kita nggawe atribut anyar sing diarani jeneng lan menehi nilai parameter jeneng. Elingi, bubar kita rembugan tag: <p th:text="'Hello, ' + ${name} + '!'" /> Kita ngandika sing Nilai saka tag p bakal teks "Hello," + Nilai saka variabel jeneng, kang bakal kita nyetel saka kode Jawa. Kita nyetel nilai iki nggunakake baris model.addAttribute("name", name);

Langkah 5. Bukak

Kanggo miwiti, kita kudu mbukak cara utama ing kelas MvcDemoApplication: Part 8. Nulis aplikasi cilik ing spring-boot - 9Ing log peluncuran, kita bakal weruh manawa aplikasi web kita diwiwiti ing port 8080: Part 8. Nulis aplikasi cilik ing spring-boot - 10Lan iki tegese kita bisa pindhah menyang kaca ing browser: http: // localhost:8080 : Part 8. Nulis aplikasi cilik ing spring-boot - 11Ing kene kaca index.html ditampilake kanggo kita. Ayo tindakake link kanggo greetin: Part 8. Nulis aplikasi cilik ing spring-boot - 12Sajrone transisi iki, controller kita makarya. Kita ora ngliwati parameter apa wae liwat URL, mula, kaya sing kasebut ing anotasi, nilai atribut jeneng njupuk nilai standar World. Ayo saiki nyoba kanggo pass parameter liwat url: Part 8. Nulis aplikasi cilik ing spring-boot - 13Kabeh dianggo minangka dimaksudaké. Saiki nyoba nglacak path saka variabel jeneng:
  1. Pangguna ngliwati nilai jeneng parameter = Amigo -> liwat url
  2. Kontroler ngolah tumindak kita, nampa variabel jeneng lan nyetel atribut model, kanthi jeneng jeneng lan nilai sing ditampa ->
  3. Saka model, data iki pindhah menyang View, menyang kaca greeting.html lan ditampilake kanggo pangguna
Iku kabeh!

Dina iki kita ngenalake sampeyan menyang topik MVC sing rada gedhe lan menarik (Model - View - Controller). Iki minangka pungkasan saka seri, tujuane yaiku kanggo ngenalake sampeyan apa sing sampeyan kudu ngerti sadurunge miwiti pangembangan Enterprise.

Ninggalake topik sing narik kawigaten sampeyan ing komentar - kita bakal nindakake!

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