CodeGym /Blog Jawa /Acak /Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot
John Squirrels
tingkat
San Francisco

Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot

Diterbitake ing grup
Materi iki minangka bagéan pungkasan saka seri "Introduction to Enterprise Development". Artikel sadurunge: Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 1Ayo goleki implementasine MVC sing paling gampang nggunakake Spring MVC minangka conto. Kanggo nindakake iki, kita bakal nulis aplikasi Hello World cilik nggunakake Spring Boot. Aku bakal menehi instruksi langkah-langkah, supaya sampeyan bisa mbaleni kabeh dhewe. Kaping pisanan, kita bakal nulis aplikasi cilik, banjur bakal analisa.

Langkah 1. Nggawe aplikasi Spring Boot ing IntelliJ IDEA.

Gunakake File -> New -> Project… kanggo nggawe proyek anyar. Ing jendhela sing mbukak, ing menu sisih kiwa, pilih Spring Initializr, banjur pilih Project SDK. Ninggalake standar kanggo pilihan URL Layanan Initializr. Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 2Klik tombol "Sabanjure". Ing jendela sabanjure, kita kudu milih setelan proyek. Kita bakal duwe proyek Maven. Pilih Maven Project minangka jinis. Isi kolom Group lan Artefak Klik Sabanjure. Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 3Ing jendela sabanjure, kita kudu milih komponen Spring Framework sing bakal digunakake. Cukup loro kanggo kita:
  • Spring Web minangka komponen sing ngidini kita nggawe aplikasi web. Komponen iki kalebu Spring MVC.
  • Thymeleaf minangka mesin template kita. Iku bab sing ngijini kita ngirim data saka Jawa menyang kaca HTML
Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 4Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 5Ing jendela sabanjure, pilih jeneng lan lokasi proyek ing sistem file: Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 6Klik tombol "Rampung". Proyek kasebut digawe. We mungkasi munggah karo struktur project ing ngisor iki: Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 7Ing kene kita kasengsem ing 2 file: pom.xml (deskriptor penyebaran). Bab iki ngidini sampeyan ngimpor perpustakaan kanthi cepet lan gampang saka macem-macem kerangka menyang proyek kita. Iku uga ngendi kita ngatur carane aplikasi kita dibangun. Aplikasi kita dibangun nggunakake Maven, lan pom.xml minangka file konfigurasi kanggo sistem mbangun iki. Kelas Java yaiku MvcDemoApplication. Iki minangka kelas utama aplikasi kita. Kita bakal miwiti proyek Spring Boot saka iku. Kanggo miwiti, mung mbukak cara utama 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.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>

Langkah 2. Nggawe kaca web

Aplikasi kita bakal gampang banget. Kita bakal duwe kaca utama (index.html), sing bakal ngemot pranala menyang kaca sambutan (salam.html). Ing kaca salam, kita nampilake salam. Kita bakal nggunakake paramèter URL kanggo ngirim jeneng sing bakal digunakake ing salam menyang kaca greeting.html. 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 kita bakal nggawe 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>
Kaca kita duwe <p th:text="'Hello, ' + ${name} + '!'" />tag, sing ora normal kanggo HTML. Atribut thtag pminangka mekanisme sing digunakake dening mesin cithakan Thymeleaf. Nilai ptag bakal dadi "Halo," + nilai variabel name, sing bakal disetel ing kode Jawa.

Langkah 3. Nggawe controller

Ing paket mvc_demo, kita bakal nggawe paket contoller, sing 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 sing arep. Ayo dadi miwiti analisis kita. Anotasi @Controller nuduhake yen kelas iki minangka pengontrol. Ing musim semi, pengontrol ngolah panjalukan HTTP sing diarahake menyang URL tartamtu. Kelas kita duwe metode helloWorldController sing ditandhani karo @RequestMapping(value = "/ greeting") anotasi. Anotasi iki nuduhake yen cara iki ngolah panjalukan HTTP GET sing diarahake menyang URL / salam. Ing tembung liyane, cara iki bakal dijaluk yen ana wong sing pindhah 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 awakmu weruh, Cara kita njupuk 2 argumen. Ayo dideleng: Parameter 1: @RequestParam(jeneng = "jeneng", dibutuhake = palsu, defaultValue = "Donya") String jeneng. Anotasi @RequestParam nuduhake yen parameter jeneng String minangka parameter URL. Yen anotasi nuduhake yen parameter URL iki opsional (dibutuhake = palsu), banjur yen ora ana, nilai parameter String jeneng bakal dadi "World" (defaultValue = "World"). Yen ana, parameter URL bakal dadi "jeneng" (jeneng = "jeneng"). Bisa uga akeh sing ora dingerteni ing kene. Ayo menehi sawetara conto. Tabel ing ngisor iki nuduhake apa nilai parameter jeneng String, kanthi macem-macem opsi kanggo ngakses / salam (nganggo lan tanpa parameter URL)
Tuladha URL Nilai jeneng String
/salam donya
/salam?name=Amigo Amigo
/salam?name=Zor Zor
Parameter 2: Parameter kapindho yaiku model Model. Parameter iki sawetara model. Model iki kalebu macem-macem atribut internal. Saben atribut duwe jeneng lan nilai. Soko kaya pasangan kunci-nilai. Kita bisa nggunakake parameter iki kanggo ngirim data saka kode Jawa menyang kaca HTML. Utawa, nggunakake terminologi MVC, ngirim data saka model kanggo tampilan. Iku mung tetep kanggo nliti baris pungkasan. Iku carane kita ngirim data saka Jawa kanggo HTML, utawa saka model kanggo tampilan. Cara kasebut kalebu baris ing ngisor iki: model.addAttribute("name", name); Ing kene kita nggawe atribut anyar sing diarani jeneng lan menehi nilai parameter jeneng. Elingi, kita bubar rembugan ing <p th:text = "'Hello,' + ${name} + '!'" /> We ngandika sing Nilai saka tag p "Hello," + Nilai saka variabel jeneng, kang kita bakal nyetel ing kode Jawa. Kita nyetel nilai iki nggunakake baris model.addAttribute("name", name);

Langkah 5. Run

Kanggo miwiti, kita kudu mbukak metode utama kelas MvcDemoApplication: Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 9Ing log, kita bakal weruh yen aplikasi web kita diwiwiti ing port 8080: Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 10Lan iki tegese ing browser, kita bisa pindhah menyang kaca ing http: // localhost:8080 : Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 11Ing kene kita duwe kaca index.html. Ayo tindakake link menyang kaca Salam: Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 12Controller kita dijaluk ing transisi iki. Kita ora ngliwati parameter apa wae liwat URL. Akibaté, atribut jeneng njupuk nilai standar ("Donya") sing dituduhake ing anotasi. Ayo nyoba ngliwati parameter liwat URL: Part 8. Ayo nulis aplikasi cilik nggunakake Spring Boot - 13Kabeh mlaku kaya sing dikarepake. Saiki nyoba nglacak path saka variabel jeneng:
  1. Pangguna ngliwati "name=Amigo" ing URL ->
  2. Kontroler ngolah tumindak kita, nampa variabel jeneng, lan nyetel atribut model sing diarani jeneng sing padha karo nilai sing ditampa ->
  3. Data iki katon saka model, pungkasan ing kaca greeting.html, lan ditampilake kanggo pangguna
Semono wae!

Dina iki kita kenal karo topik sing rada gedhe lan menarik saka MVC (Model - View - Controller). Iki minangka pungkasan saka seri sing dirancang kanggo ngenalake sampeyan apa sing sampeyan kudu ngerti sadurunge miwiti pangembangan perusahaan.

Ing komentar, tulisake topik sing sampeyan minati - Kita bakal mbahas!

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