JavaRush /جاوا بلاگ /Random-SD /حصو 8. اسپرنگ بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ

حصو 8. اسپرنگ بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ

گروپ ۾ شايع ٿيل
هي مواد "انٽرپرائز ڊولپمينٽ جو تعارف" سيريز جو آخري حصو آهي. اڳيون مضمون: حصو 8. اسپرنگ بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 1اچو ته مثال طور اسپرنگ-MVC استعمال ڪندي MVC عمل درآمد جو آسان مثال ڏسو. هن کي ڪرڻ لاء، اچو ته هڪ ننڍڙو هيلو ورلڊ ايپليڪيشن اسپرنگ بوٽ ۾ لکون. انهي ڪري ته توهان هر شي کي ٻيهر ورجائي سگهو ٿا، آئون توهان کي قدم قدم جي هدايت ڏيندس. پهرين اسان هڪ ننڍڙي ايپليڪيشن لکنداسين، ۽ پوء اسين ان جو تجزيو ڪنداسين.

قدم 1. IntelliJ IDEA ۾ اسپرنگ بوٽ ايپليڪيشن ٺاهيو

فائل استعمال ڪندي -> نئون -> پروجيڪٽ... ھڪڙو نئون منصوبو ٺاھيو. کليل ونڊو ۾، کاٻي پاسي واري مينيو ۾، Spring Initializr چونڊيو، پروجيڪٽ SDK چونڊيو، ۽ ڇڏي ڏيو شروعاتي سروس URL اختيار کي ڊفالٽ طور. حصو 8. اسپرنگ بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 2ڪلڪ ڪريو اڳيون بٽڻ. ايندڙ ونڊو ۾ اسان کي پروجيڪٽ پيٽرولر چونڊڻ جي ضرورت آهي. اسان وٽ هڪ Maven منصوبو هوندو. قسم چونڊيو - Maven پروجيڪٽ، ڀريو گروپ ۽ آرٽيڪل حصو 8. اسپرنگ-بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 3۽ ڪلڪ ڪريو اڳيون. ايندڙ ونڊو ۾ اسان کي اسپرنگ فريم ورڪ جا حصا چونڊڻا پوندا جيڪي اسان استعمال ڪنداسين. اسان کي صرف ٻن جي ضرورت آهي:
  • اسپرنگ ويب هڪ جزو آهي جيڪو اسان کي ويب ايپليڪيشنون ٺاهڻ جي اجازت ڏيندو. ھن جزو ۾ اسپرنگ ايم وي سي شامل آھي.
  • Thymeleaf - نالي سان ٺهيل انجڻ. ھڪڙي شيء جيڪا اسان کي جاوا کان HTML صفحن تائين ڊيٽا منتقل ڪرڻ جي اجازت ڏيندو
حصو 8. اسپرنگ بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 4حصو 8. اسپرنگ بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 5ايندڙ ونڊو ۾، فائل سسٽم ۾ پروجيڪٽ جو نالو ۽ مقام چونڊيو: حصو 8. اسپرنگ-بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 6ختم بٽڻ تي ڪلڪ ڪريو. پروجيڪٽ ٺاهي وئي آهي. اسان وٽ ھيٺ ڏنل منصوبي جي جوڙجڪ آھي: حصو 8. اسپرنگ-بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 7ھتي اسان کي 2 فائلن ۾ دلچسپي آھي: pom.xml - deployment descriptor. هڪ شيء جيڪا توهان کي جلدي ۽ آساني سان لائبريرين کي مختلف فريم ورڪ مان اسان جي پروجيڪٽ ۾ درآمد ڪرڻ جي اجازت ڏئي ٿي، انهي سان گڏ هڪ شيء جنهن ۾ اسان اسان جي ايپليڪيشن جي اسيمبلي کي ترتيب ڏيو ٿا. اسان جي ايپليڪيشن Maven استعمال ڪندي ٺاهي وئي آهي، pom.xml هن بلڊ سسٽم جي ترتيب واري فائيل آهي. جاوا ڪلاس - MvcDemoApplication. هي اسان جي ايپليڪيشن جو مکيه ڪلاس آهي، جنهن مان اسان پنهنجو اسپرنگ بوٽ پروجيڪٽ شروع ڪنداسين. شروع ڪرڻ لاء، صرف هن طبقي ۾ مکيه طريقو هلائي. هتي هن طبقي لاءِ ڪوڊ آهي، انهي سان گڏ 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>

قدم 2. ويب صفحا ٺاھيو

اسان جي درخواست انتهائي سادي هوندي. اسان وٽ هڪ مکيه صفحو هوندو - index.html، جنهن جي اندر استقبال واري صفحي جي لنڪ هوندي - greeting.html. سلام واري صفحي تي اسين سلام ڏيکارينداسين. اچو ته greeting.html صفحي تي url parameters ذريعي سلامي جو نالو موڪلڻ جي صلاحيت کي لاڳو ڪريون. اچو ته اسان جي ايپليڪيشن جو مکيه صفحو ٺاهيو - 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>
ھاڻي ٺاھيون 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>
هتي، هڪ atypical html صفحي مان، توهان هڪ ٽيگ ڏسي سگهو ٿا: ٽيگ <p th:text="'Hello, ' + ${name} + '!'" /> خاصيت Thymeleaf ٽيمپليٽ انجڻ جو هڪ اوزار آهي. ان جي مهرباني، ٽيگ جي قيمت ٽيڪسٽ هوندي “Hello, “ + the value of the variable ، جنهن کي اسان جاوا ڪوڊ مان سيٽ ڪنداسين. thppname

قدم 3: هڪ ڪنٽرولر ٺاهيو

mvc_demo پيڪيج جي اندر اسان هڪ ڪنٽرولر پيڪيج ٺاهينداسين، جنهن جي اندر اسان پنهنجو ڪنٽرولر ٺاهينداسين، 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";
   }

}
هڪ طرف تمام ٿورڙو ڪوڊ آهي، پر ٻئي طرف تمام گهڻو ٿي رهيو آهي. اچو ته تجزيو شروع ڪريون. @Controller تشريح ظاهر ڪري ٿو ته هي طبقو هڪ ڪنٽرولر آهي. بهار جي پروسيس ۾ ڪنٽرولر HTTP درخواستن کي مخصوص پتي تي. اسان جي ڪلاس ۾ هيلو ورلڊ ڪنٽرولر طريقو آهي، جنهن کي نشان لڳايو ويو آهي تشريح سان - @RequestMapping(value = "/greeting"). هي تشريح اسان کي ٻڌائي ٿي ته هي طريقو HTTP GET درخواستن کي /سلامتي ايڊريس تي عمل ڪري ٿو. ٻين لفظن ۾، اهو طريقو ڪم ڪندو جيڪڏهن ڪو وڃي ٿو / سلام. اهو طريقو واپسي String. Spring-MVC جي مطابق، ڪنٽرولر جو طريقو ڏسڻ جو نالو واپس ڪرڻ گھرجي. اڳيون، بهار ساڳئي نالي سان هڪ html فائل ڳوليندو، جيڪو HTTP درخواست جي جواب جي طور تي واپس ڪيو ويندو. جئين توهان ڏسي سگهو ٿا، اسان جو طريقو ويب پيج جو نالو واپس ڪري ٿو جيڪو اسان اڳ ۾ ٺاهيو هو - سلام. اسان جو طريقو 2 دلائل وٺندو آهي. اچو ته انهن تي نظر وجهون: پيرا ميٽر 1: @RequestParam(name = "name"، گهربل = غلط، defaultValue = "World") اسٽرنگ جو نالو. @RequestParam تشريح ٻڌائي ٿي ته String name parameter is a url parameter. تشريح قوسون ظاهر ڪن ٿيون ته url ۾ هي پيٽرول اختياري آهي (گهربل = غلط)، جيڪڏهن اهو غير حاضر آهي، اسٽرنگ جي نالي جي پيراميٽر جي قيمت World (defaultValue = "World") هوندي، ۽ جيڪڏهن اهو موجود آهي، ته پوءِ هي پيٽرول url ۾ نالو سڏيو ويندو (نالو = "نالو") هتي تمام گهڻو ٿي سگهي ٿو جيڪو هتي واضح ناهي. اچو ته مثال ڏيو. هيٺ ڏنل جدول ڏيکاري ٿو ته String name parameter جي قيمت ڇا هوندي مختلف اختيارن لاءِ رسائي حاصل ڪرڻ لاءِ /greeting address (URL ۾ پيرا ميٽرن سان ۽ بغير)
مثال URL اسٽرنگ جو نالو پيٽرولر جو قدر
/ سلام دنيا
/ سلام؟ نالو = اميگو اميگو
/ سلام؟ نالو = زور زور
پيرا ميٽر 2: ٻيو پيٽرول ماڊل ماڊل آهي. هي پيٽرولر هڪ ماڊل آهي. هي ماڊل اندروني طور تي مختلف خاصيتن تي مشتمل آهي. هر وصف جو هڪ نالو ۽ قدر آهي. ڪيئي قدر جوڙو وانگر. هن پيٽرولر کي استعمال ڪندي، اسان جاوا ڪوڊ مان ڊيٽا کي html صفحن ڏانهن منتقل ڪري سگهون ٿا. يا، MVC اصطلاحن ۾، ڊيٽا کي ماڊل کان ڏيک ڏانھن منتقل ڪريو. اهو رهي ٿو آخري لائين کي پارس ڪرڻ لاء. اهو طريقو جيڪو اسان ڊيٽا کي جاوا کان html يا ماڊل کان ڏسو ڏانهن منتقل ڪريون ٿا. طريقي جي باڊي ۾ ھيٺ ڏنل لائين شامل آھي: model.addAttribute("name", name); ھتي اسان ھڪڙو نئون وصف ٺاھيو آھي جنھن کي نالو سڏيو ويندو آھي ۽ ان کي نالي جي پيٽرولر جي قيمت تفويض ڪريو. ياد رکو، تازو ئي اسان ٽيگ تي بحث ڪيو آهي: <p th:text="'Hello, ' + ${name} + '!'" /> اسان چيو آهي ته p ٽيگ جي قيمت "Hello," + نالي جي ويريبل جي قيمت هوندي، جيڪا اسان جاوا ڪوڊ مان سيٽ ڪنداسين. اسان هن قيمت کي لائن استعمال ڪندي سيٽ ڪيو model.addAttribute("name", name);

قدم 5. لانچ

لانچ ڪرڻ لاءِ، اسان کي MvcDemoApplication ڪلاس ۾ مکيه طريقو هلائڻو پوندو: حصو 8. اسپرنگ بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 9لانچ لاگز ۾، اسان ڏسنداسين ته اسان جي ويب ايپليڪيشن پورٽ 8080 تي شروع ٿي آهي: حصو 8. اسپرنگ-بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 10۽ ان جو مطلب اهو آهي ته اسان برائوزر ۾ صفحي تي وڃون ٿا: http:// localhost:8080 : حصو 8. اسپرنگ بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 11هتي صفحو index.html اسان کي ڏيکاريو ويو آهي. اچو ته سلام ڪرڻ جي لنڪ جي پيروي ڪريو: حصو 8. اسپرنگ بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 12هن منتقلي سان، اسان جو ڪنٽرولر ڪم ڪيو. اسان URL ذريعي ڪي به پيٽرول پاس نه ڪيا آهن، تنهن ڪري، جيئن تشريح ۾ بيان ڪيو ويو آهي، نالي جي خاصيت جي قيمت ڊفالٽ ويل ورلڊ ورتو. اچو ته ھاڻي url ذريعي پيٽرول پاس ڪرڻ جي ڪوشش ڪريون: حصو 8. اسپرنگ-بوٽ ۾ ننڍڙي ايپليڪيشن لکڻ - 13سڀ ڪجھ ڪم ڪري ٿو جيئن ارادو ڪيو وڃي. ھاڻي ڪوشش ڪريو نالو متغير جو رستو:
  1. استعمال ڪندڙ پيراميٽر جو نالو پاس ڪيو = Amigo -> url ذريعي
  2. ڪنٽرولر اسان جي عمل تي عمل ڪيو، نالو متغير قبول ڪيو ۽ ماڊل وصف مقرر ڪيو، نالي جي نالي سان ۽ قبول ٿيل قدر ->
  3. ماڊل مان، هي ڊيٽا View ڏانهن ويو، greeting.html صفحي ڏانهن ۽ صارف ڏانهن ڏيکاريو ويو
اهو ئي سڀ ڪجهه آهي!

اڄ اسان توهان کي MVC (ماڊل - ڏسو - ڪنٽرولر) جي هڪ وڏي ۽ دلچسپ موضوع سان متعارف ڪرايو آهي. هي سيريز جي پڄاڻي آهي، جنهن جو مقصد توهان کي متعارف ڪرائڻ آهي جيڪو توهان کي ڄاڻڻ جي ضرورت آهي انٽرپرائز ڊولپمينٽ شروع ڪرڻ کان پهريان.

انهن عنوانن کي ڇڏي ڏيو جيڪي توهان جي راءِ ۾ دلچسپي رکن ٿا - اسان اهو ڪنداسين!

تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION