CodeGym /جاوا بلاگ /Random-UR /حصہ 8۔ آئیے اسپرنگ بوٹ کا استعمال کرتے ہوئے ایک چھوٹی ایپ...
John Squirrels
سطح
San Francisco

حصہ 8۔ آئیے اسپرنگ بوٹ کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔

گروپ میں شائع ہوا۔
یہ مواد "انٹرپرائز ڈویلپمنٹ کا تعارف" سیریز کا اختتامی حصہ ہے۔ پچھلے مضامین: حصہ 8۔ آئیے اسپرنگ بوٹ - 1 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔آئیے ایک مثال کے طور پر Spring MVC کا استعمال کرتے ہوئے MVC کے آسان ترین نفاذ کو دیکھیں۔ ایسا کرنے کے لیے، ہم اسپرنگ بوٹ کا استعمال کرتے ہوئے ایک چھوٹی ہیلو ورلڈ ایپلی کیشن لکھیں گے۔ میں آپ کو مرحلہ وار ہدایات دوں گا، تاکہ آپ خود ہر چیز کو دہرا سکیں۔ سب سے پہلے، ہم ایک چھوٹی سی درخواست لکھیں گے، اور پھر ہم اس کا تجزیہ کریں گے۔

مرحلہ 1۔ IntelliJ IDEA میں اسپرنگ بوٹ ایپلی کیشن بنانا۔

نیا پروجیکٹ بنانے کے لیے فائل -> نیا -> پروجیکٹ… استعمال کریں۔ کھلنے والی ونڈو میں، بائیں جانب کے مینو میں، Spring Initializr کو منتخب کریں، اور پروجیکٹ SDK کو منتخب کریں۔ Initializr سروس URL آپشن کے لیے ڈیفالٹ چھوڑ دیں۔ حصہ 8۔ آئیے اسپرنگ بوٹ - 2 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔"اگلا" بٹن پر کلک کریں۔ اگلی ونڈو میں، ہمیں پروجیکٹ کی ترتیبات کو منتخب کرنے کی ضرورت ہے۔ ہم ایک Maven پروجیکٹ کرنے جا رہے ہیں۔ Maven پروجیکٹ کو بطور قسم منتخب کریں۔ گروپ اور آرٹفیکٹ فیلڈز کو پُر کریں اگلا پر کلک کریں۔ حصہ 8۔ آئیے اسپرنگ بوٹ - 3 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔اگلی ونڈو میں، ہمیں اسپرنگ فریم ورک کے اجزاء کو منتخب کرنے کی ضرورت ہے جو ہم استعمال کریں گے۔ ہمارے لیے دو ہی کافی ہیں:
  • اسپرنگ ویب ایک ایسا جزو ہے جو ہمیں ویب ایپلیکیشنز بنانے دیتا ہے۔ اس جزو میں Spring MVC شامل ہے۔
  • Thymeleaf ہمارا ٹیمپلیٹ انجن ہے۔ یہ ایک ایسی چیز ہے جو ہمیں جاوا سے HTML صفحات پر ڈیٹا بھیجنے دیتی ہے۔
حصہ 8۔ آئیے اسپرنگ بوٹ - 4 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔حصہ 8۔ آئیے اسپرنگ بوٹ - 5 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔اگلی ونڈو میں، فائل سسٹم میں پروجیکٹ کا نام اور مقام منتخب کریں: حصہ 8۔ آئیے اسپرنگ بوٹ - 6 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔"Finish" بٹن پر کلک کریں۔ پروجیکٹ بنایا گیا ہے۔ ہم مندرجہ ذیل پروجیکٹ ڈھانچے کے ساتھ ختم ہوتے ہیں: حصہ 8۔ آئیے اسپرنگ بوٹ - 7 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔یہاں ہم 2 فائلوں میں دلچسپی رکھتے ہیں: pom.xml (تعیناتی وضاحت کنندہ)۔ یہ چیز آپ کو ہمارے پروجیکٹ میں مختلف فریم ورک سے لائبریریوں کو جلدی اور آسانی سے درآمد کرنے دیتی ہے۔ یہ وہ جگہ ہے جہاں ہم ترتیب دیتے ہیں کہ ہماری ایپلیکیشن کیسے بنتی ہے۔ ہماری ایپلیکیشن 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.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>

مرحلہ 2۔ ویب صفحہ بنانا

ہماری درخواست انتہائی آسان ہوگی۔ ہمارے پاس ایک مرکزی صفحہ (index.html) ہوگا، جس میں استقبالیہ صفحہ (greeting.html) کا لنک ہوگا۔ گریٹنگ پیج پر، ہم ایک سلام ظاہر کرتے ہیں۔ ہم greeting.html صفحہ پر گریٹنگ میں استعمال ہونے والے نام کو منتقل کرنے کے لیے URL پیرامیٹرز کا استعمال کریں گے۔ آئیے اپنی درخواست کا مرکزی صفحہ بنائیں — 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>
ہمارے صفحہ پر ایک <p th:text="'Hello, ' + ${name} + '!'" />ٹیگ ہے، جو HTML کے لیے عام نہیں ہے۔ thٹیگ کا وصف Thymeleaf pٹیمپلیٹ انجن کے ذریعہ استعمال ہونے والا ایک طریقہ کار ہے۔ ٹیگ pکی ویلیو "Hello," + متغیر کی قدر ہوگی name، جسے ہم جاوا کوڈ میں سیٹ کریں گے۔

مرحلہ 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 تشریح اشارہ کرتی ہے کہ یہ کلاس ایک کنٹرولر ہے۔ موسم بہار میں، کنٹرولرز مخصوص URLs پر ہدایت کردہ HTTP درخواستوں پر کارروائی کرتے ہیں۔ ہماری کلاس میں ایک helloWorldController طریقہ ہے جو @RequestMapping(value = "/greeting") تشریح کے ساتھ نشان زد ہے۔ یہ تشریح اشارہ کرتی ہے کہ یہ طریقہ HTTP GET درخواستوں پر کارروائی کرتا ہے جو /greeting URL پر ہدایت کی گئی ہے۔ دوسرے لفظوں میں، اس طریقہ کو استعمال کیا جائے گا اگر کوئی شخص /سلام پر تشریف لے جاتا ہے۔ یہ طریقہ سٹرنگ واپس کرتا ہے۔ Spring MVC کے مطابق، کنٹرولر طریقہ کو منظر کا نام واپس کرنا چاہیے۔ اگلا، اسپرنگ اسی نام کے ساتھ ایک HTML فائل کو تلاش کرے گا، جو یہ HTTP درخواست کے جواب کے طور پر واپس آئے گا۔ جیسا کہ آپ دیکھ سکتے ہیں، ہمارا طریقہ اس ویب پیج کا نام لوٹاتا ہے جو ہم نے پہلے بنایا تھا: سلام۔ ہمارا طریقہ 2 دلائل لیتا ہے۔ آئیے ان پر ایک نظر ڈالتے ہیں: پیرامیٹر 1: @RequestParam(name = "name", required = false, defaultValue = "World") اسٹرنگ کا نام۔ @RequestParam تشریح اشارہ کرتی ہے کہ String name پیرامیٹر ایک URL پیرامیٹر ہے۔ اگر تشریح یہ بتاتی ہے کہ یہ URL پیرامیٹر اختیاری ہے (ضروری = غلط)، پھر اگر یہ غیر حاضر ہے، تو String name پیرامیٹر کی قدر "World" (defaultValue = "World") ہوگی۔ اگر یہ موجود ہے، تو URL پیرامیٹر "نام" (نام = "نام") ہوگا۔ یہاں بہت کچھ ہوسکتا ہے جو آپ کو سمجھ نہیں آتا۔ آئیے کچھ مثالیں پیش کرتے ہیں۔ نیچے دی گئی جدول سے پتہ چلتا ہے کہ اسٹرنگ نام کے پیرامیٹر کی قدر کیا ہوگی، رسائی/گریٹنگ کے مختلف اختیارات کے ساتھ (یو آر ایل پیرامیٹر کے ساتھ اور اس کے بغیر)
مثال URL اسٹرنگ نام کی قدر
/ سلام دنیا
/مبارکباد؟نام=امیگو امیگو
/مبارکباد؟name=Zor زور
پیرامیٹر 2: دوسرا پیرامیٹر ایک ماڈل ماڈل ہے۔ یہ پیرامیٹر کچھ ماڈل ہے۔ یہ ماڈل مختلف اندرونی صفات پر مشتمل ہے۔ ہر صفت کا ایک نام اور ایک قدر ہے۔ کلیدی قدر کے جوڑے کی طرح کچھ۔ ہم اس پیرامیٹر کو جاوا کوڈ سے HTML صفحات پر ڈیٹا بھیجنے کے لیے استعمال کر سکتے ہیں۔ یا، MVC اصطلاحات کا استعمال کرتے ہوئے، ماڈل سے ڈیٹا کو منظر پر بھیجیں۔ یہ صرف آخری لائن کی جانچ کرنا باقی ہے۔ اس طرح ہم جاوا سے ایچ ٹی ایم ایل، یا ماڈل سے ویو پر ڈیٹا بھیجتے ہیں۔ طریقہ کار میں درج ذیل سطر شامل ہے: model.addAttribute("name", name); یہاں ہم نام کے نام سے ایک نیا وصف بناتے ہیں اور اسے نام کے پیرامیٹر کی قدر تفویض کرتے ہیں۔ یاد رکھیں، ہم نے حال ہی میں <p th:text = "'Hello,' + ${name} + '!'" /> ہم نے کہا کہ پی ٹیگ کی ویلیو "ہیلو،" + نام ویری ایبل کی ویلیو ہے، جسے ہم جاوا کوڈ میں سیٹ کریں گے۔ ہم لائن کا استعمال کرتے ہوئے اس قدر کو سیٹ کرتے ہیں۔ model.addAttribute("name", name);

مرحلہ 5۔ چلائیں۔

شروع کرنے کے لیے، ہمیں MvcDemoApplication کلاس کا بنیادی طریقہ چلانے کی ضرورت ہے: حصہ 8۔ آئیے اسپرنگ بوٹ - 9 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔لاگز میں، ہم دیکھیں گے کہ ہماری ویب ایپلیکیشن پورٹ 8080 پر شروع ہوئی ہے: حصہ 8۔ آئیے اسپرنگ بوٹ - 10 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔اور اس کا مطلب ہے کہ براؤزر میں، ہم http:// پر صفحہ پر جا سکتے ہیں۔ localhost:8080 : حصہ 8۔ آئیے اسپرنگ بوٹ - 11 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔یہاں ہمارے پاس index.html صفحہ ہے۔ آئیے گریٹنگ پیج کے لنک کی پیروی کریں: حصہ 8۔ آئیے اسپرنگ بوٹ - 12 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔اس منتقلی میں ہمارے کنٹرولر کو طلب کیا گیا تھا۔ ہم نے URL کے ذریعے کوئی پیرامیٹرز پاس نہیں کیا۔ نتیجے کے طور پر، نام کا وصف پہلے سے طے شدہ قدر ("ورلڈ") کو لے لیتا ہے جو تشریح میں اشارہ کیا گیا ہے۔ آئیے یو آر ایل کے ذریعے پیرامیٹر پاس کرنے کی کوشش کریں: حصہ 8۔ آئیے اسپرنگ بوٹ - 13 کا استعمال کرتے ہوئے ایک چھوٹی ایپلی کیشن لکھیں۔سب کچھ حسب منشا کام کرتا ہے۔ اب نام متغیر کے راستے کو ٹریس کرنے کی کوشش کریں:
  1. صارف نے URL -> میں "name=Amigo" کو پاس کیا۔
  2. کنٹرولر نے ہماری کارروائی پر کارروائی کی، نام کا متغیر حاصل کیا، اور موصول ہونے والی قدر کے برابر نام نامی ایک ماڈل وصف مقرر کیا ->
  3. یہ ڈیٹا ماڈل سے دیکھنے کے لیے آیا، جس کا اختتام greeting.html صفحہ پر ہوا، اور صارف کو دکھایا گیا۔
ابھی کے لیے یہی ہے!

آج ہم MVC (ماڈل - ویو - کنٹرولر) کے کافی بڑے اور دلچسپ موضوع سے واقف ہوئے۔ یہ سیریز کا اختتام ہے جو آپ کو متعارف کرانے کے لیے ڈیزائن کیا گیا ہے جو آپ کو انٹرپرائز کی ترقی شروع کرنے سے پہلے جاننے کی ضرورت ہے۔

تبصروں میں، ہمیں بتائیں کہ آپ کن موضوعات میں دلچسپی رکھتے ہیں — ہم ان پر بات کریں گے!

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