22 คำถามและคำตอบสัมภาษณ์ Spring Boot ที่ถามบ่อย

คุณเป็นนักพัฒนา Java Spring Boot ที่กำลังรอคอยการสัมภาษณ์ที่จะมาถึง แต่ไม่แน่ใจว่าจะมีคำถามอะไรไหม เราอยู่ที่นี่เพื่อช่วย!

บทความนี้จะช่วยให้คุณเตรียมตัวอย่างเพียงพอโดยสรุปคำถามและคำตอบในการสัมภาษณ์ Spring Boot ที่ถามบ่อยหลายข้อที่ผู้สัมภาษณ์สามารถใช้ทดสอบคุณได้

ผู้สัมภาษณ์ใช้คำถามเชิงกลยุทธ์ของ Java Spring Boot เพื่อทดสอบระดับทักษะของผู้ให้สัมภาษณ์ที่เกี่ยวข้องกับบทบาทที่กำหนด ดังนั้นคุณต้องเตรียมคำถามที่เกี่ยวข้องและรู้วิธีตอบคำถาม

ก่อนข้ามไปที่คำถามสัมภาษณ์และคำตอบที่เกี่ยวข้อง ให้เราอธิบายภาพรวมเบื้องต้นว่า Spring Boot คืออะไรและมีประโยชน์สำหรับนักพัฒนา Java มากน้อยเพียงใด

สารบัญ

Java Spring Boot คืออะไร?

เฟรมเวิร์ก Java นี้สร้างขึ้นโดยทีมงานหลักในปี 2014 Spring Boot ซึ่งเป็นเฟรมเวิร์กโอเพนซอร์ส พัฒนาแอปพลิเคชันที่เป็นอิสระ ระดับการผลิต และสามารถทำงานบน Java Virtual Machine (JVM) ได้อย่างมีประสิทธิภาพ

นักพัฒนา Java ชื่นชอบสำหรับเว็บแอปพลิเคชันและการพัฒนาไมโครเซอร์วิส เนื่องจากกระบวนการตั้งค่าที่รวดเร็วและง่ายดาย และเวลาการกำหนดค่าที่ปลอดภัย

การติดตั้งและการกำหนดค่าที่ง่ายดายของแอพพลิเคชั่นบน Spring โดย Spring Boot สามารถทำได้ด้วยความสามารถหลักสามประการ ซึ่งรวมถึง:

  • การกำหนดค่าอัตโนมัติ – ซึ่งเป็นการกำหนดค่าอัตโนมัติของแอปพลิเคชัน Spring
  • Spring Boot ให้แนวทางตามความคิดเห็นเกี่ยวกับค่าเริ่มต้นของการกำหนดค่าที่จะใช้และแพ็คเกจที่จะติดตั้งสำหรับการพึ่งพาที่จำเป็น แนวทางที่ให้ความเห็นนี้ช่วยในการสร้างโครงการอย่างรวดเร็ว
  • Sprsetupoot ให้คุณเรียกใช้แอปพลิเคชันของคุณโดยอิสระโดยไม่ต้องใช้เว็บเซิร์ฟเวอร์

Spring Boot มีประโยชน์ต่อนักพัฒนา Java อย่างไร

ประการหนึ่ง นักพัฒนา Java ที่ใช้ Spring Boot ทำได้ง่ายกว่าด้วยการกำหนดค่าอัตโนมัติของส่วนประกอบทั้งหมดที่จำเป็นในการพัฒนาแอปพลิเคชัน Spring เกรดที่ใช้งานจริง ซึ่งในระยะยาวจะช่วยลดเวลาในการพัฒนาและเพิ่มประสิทธิภาพในที่สุด

Spring Boot ยังผสานรวมกับระบบนิเวศของ Spring ได้อย่างง่ายดาย ซึ่งรวมถึง Spring JDBC, Spring Data, Spring Security และ Spring ORM

นักพัฒนา Java ยังสามารถเชื่อมต่อ Spring Boot กับฐานข้อมูลต่างๆ เช่น Oracle, MySQL, PostgreSQL และ MongoDB เป็นต้น

แน่นอน การกำหนดค่าที่ยืดหยุ่นด้วยการกำหนดค่า XML, Java Beans และธุรกรรมฐานข้อมูลเป็นคุณลักษณะที่มีประโยชน์อื่นๆ

ดังนั้น เมื่อคุณมีภาพรวมพื้นฐานของ Spring Boot แล้ว ให้เราพิจารณาคำถามและคำตอบของการสัมภาษณ์ Spring Boot ที่ถามบ่อย ซึ่งจะช่วยให้คุณเตรียมตัวสำหรับการสัมภาษณ์ได้

คำถามและคำตอบสัมภาษณ์ Spring Boot

คุณลักษณะบางอย่างของ Spring Boot คืออะไร?

ฟีเจอร์ยอดนิยมเหล่านี้ได้แก่:

  • Spring Boot CLI จัดเตรียม Groovy สำหรับเขียนแอปพลิเคชัน Spring Boot; ในระยะยาวจะหลีกเลี่ยงรหัสต้นแบบ
  • Spring Boot มีการบันทึกและคุณลักษณะด้านความปลอดภัยที่รักษาความปลอดภัยแอปพลิเคชันของคุณจากภัยคุกคามด้านความปลอดภัยที่อาจเกิดขึ้นได้อย่างง่ายดาย
  • มันให้การกำหนดค่าอัตโนมัติของส่วนประกอบที่เกี่ยวข้องสำหรับโครงการของคุณ ดังนั้นจึงช่วยหลีกเลี่ยงความเสี่ยงของไฟล์ WAR ที่ไม่จำเป็น
  • Initializer สำหรับผู้เริ่มต้นจะกำหนดโครงสร้างโปรเจ็กต์ภายในเริ่มต้นสำหรับคุณ ด้วยวิธีนี้ คุณไม่จำเป็นต้องตั้งค่าโครงสร้างโครงการด้วยตนเอง
  • ฟีเจอร์ตัวกระตุ้น Spring Boot ให้การเข้าถึงข้อมูลเชิงลึกและตัววัดในขณะที่แอปพลิเคชันทำงาน
  • แน่นอนว่าหนึ่งในคุณสมบัติหลักของ Spring Boot คือ Starter Dependency ช่วยในการรวมการพึ่งพาที่ใช้กันทั่วไปของคุณสมบัติเฉพาะ

Spring Boot Starters คืออะไร?

Spring Boot starters เป็นตัวบ่งชี้การพึ่งพาที่มีชุดของผู้ให้บริการการจัดการการขึ้นต่อกันที่เปิดใช้งานการขึ้นต่อกันของแอปพลิเคชัน พวกเขาจัดเตรียมกรอบงานด้วยการแก้ไขการพึ่งพาอัตโนมัติ Starters ช่วยเพิ่มการพัฒนาที่ง่ายและรวดเร็ว

  วิธีเพิ่มอิโมจิลงในวิดีโอ Tik Tok ของคุณ

Actuator ใน Spring Boot คืออะไร และมีข้อดีอย่างไร?

แอคทูเอเตอร์เป็นหนึ่งในคุณสมบัติ Spring Boot ที่ให้คุณตรวจสอบสิ่งที่เกิดขึ้นภายในแอปพลิเคชันขณะทำงาน

ในระหว่างการดีบัก คุณสามารถใช้แอคทูเอเตอร์เพื่อวิเคราะห์บันทึกโดยอนุญาตให้เข้าถึงคุณสมบัติต่างๆ เช่น การใช้งาน CPU และการระบุถั่ว

นอกจากนี้ แอคทูเอเตอร์ไม่เพียงแต่ให้การเข้าถึงอย่างง่ายดายไปยังปลายทาง REST ที่พร้อมใช้งานจริง ซึ่งจะตรวจสอบและจัดการข้อมูล แต่ยังดึงข้อมูลจากเว็บอีกด้วย

thymeleaf คืออะไรและจะใช้อย่างไร thymeleaf?

Thymeleaf เป็นเทมเพลตฝั่งเซิร์ฟเวอร์ของ Java ที่สร้างเค้าโครงเทมเพลตที่เป็นธรรมชาติสำหรับเว็บแอปพลิเคชัน Java ทั้ง Spring และ HTML5

Spring Boot จะทำการกำหนดค่าอัตโนมัติของ thymeleaf โดยใช้การพึ่งพา spring-boot-starter-thymeleaf ในไฟล์ pom.xml เพื่อให้บริการเนื้อหาเว็บแบบไดนามิก

หากต้องการให้ Spring Boot อ่านและแสดงผลเทมเพลต thymeleaf หรือไฟล์ HTML ให้วางเทมเพลตใน src/main/resources/templates

จากนั้น Thymeleaf จะแยกวิเคราะห์ไฟล์ index.html และใช้ค่าจริงที่คุณส่งผ่านจากคลาสคอนโทรลเลอร์แทนค่าไดนามิกที่มีอยู่ในไฟล์ดัชนี

หลังจากนี้ ข้อความจะแสดงในเว็บเบราว์เซอร์ทันทีที่แอปพลิเคชัน Spring Boot ทำงาน

org.springframework.boot spring-boot-starter-thymeleaf

อธิบายขั้นตอนการสร้างโปรเจ็กต์ Spring Boot โดยใช้ Spring Initializer

Spring Initializr ซึ่งเป็นเครื่องมือเว็บของ Spring ให้คุณสร้างโปรเจ็กต์ Spring Boot ได้โดยใช้ไม่กี่ขั้นตอนโดยให้รายละเอียดของโปรเจ็กต์

  • ตรงไปที่ Spring intializr และกรอกข้อมูลในฟิลด์อินพุต
  • การคลิกปุ่มสร้างจะเริ่มการดาวน์โหลดโครงการ
  • แตกโปรเจ็กต์ที่ดาวน์โหลดจากไฟล์ zip และเปิดจาก IDE ของคุณ จาก IDE ไปที่ File->New->Project จากแหล่งที่มีอยู่->Spring-boot-app จากนั้นเลือกไฟล์ pom.xml คลิกที่ข้อความแจ้งการเปลี่ยนแปลงการนำเข้าเพื่อให้โครงการซิงค์ หลังจากนี้ อย่าลืมไปที่ไฟล์ application.properties และแก้ไขหมายเลข server.port เป็น server.port=7000
  • ตอนนี้ เรียกใช้แอปพลิเคชันจาก src->main->java->com.gfg.Spring.boot.app
  • JPA ใน Spring Boot คืออะไร?

    นี่คือข้อกำหนดใน Java ที่ใช้ Object-Relation Mapping (ORM) เพื่อจัดการข้อมูลเชิงสัมพันธ์และอนุญาตให้เข้าถึงข้อมูลระหว่างวัตถุ Java หรือคลาส Java และฐานข้อมูลเชิงสัมพันธ์ของแอปพลิเคชัน

    JPA ใช้ Java Persistent Query Language (JPQL) ซึ่งเป็นภาษาการสืบค้นเชิงวัตถุที่ไม่ขึ้นกับแพลตฟอร์ม

    JPA อนุญาตให้ประมวลผลคิวรีและธุรกรรมออบเจ็กต์กับฐานข้อมูลโดยใช้ Entity Manager API ที่มีให้

    การกำหนดค่าอัตโนมัติใน Spring Boot คืออะไร

    การกำหนดค่าอัตโนมัติพยายามทำให้การกำหนดค่าแอปพลิเคชัน Spring Boot เป็นอัตโนมัติโดยใช้การขึ้นต่อกันของ jar ที่คุณเพิ่มลงในแอปพลิเคชัน

    ขึ้นอยู่กับการพึ่งพาที่มีอยู่ใน Classpath ของแอปพลิเคชัน การกำหนดค่าอัตโนมัติจะประกาศออบเจ็กต์ในตัวของโมดูลเฉพาะสปริง รวมถึง JPA และความปลอดภัยของสปริง เป็นต้น

    คำอธิบายประกอบสปริงคืออะไร

    คำอธิบายประกอบแบบสปริงอ้างถึงข้อมูลเมตาที่เสนอข้อมูลเกี่ยวกับข้อมูลโค้ดของโปรแกรม และเพิ่มข้อมูลเสริมลงในโปรแกรมนั้น ส่วนประกอบของโค้ด รวมทั้งคลาสและเมธอด มักเกี่ยวข้องกับคำอธิบายประกอบ

    คำอธิบายประกอบไม่ส่งผลโดยตรงต่อการทำงานของโปรแกรมหรือการทำงานที่ตามมาของโค้ดที่คอมไพล์แล้ว
    ไวยากรณ์ของพวกเขาเริ่มต้นด้วยสัญลักษณ์ ‘@’

    Spring Boot มีคำอธิบายประกอบหลักหกประเภทซึ่งรวมถึง:

    • คำอธิบายประกอบหลักของสปริง
    • คำอธิบายประกอบข้อมูลสปริง
    • คำอธิบายประกอบ Spring Bean
    • คำอธิบายประกอบเว็บสปริง
    • คำอธิบายประกอบการกำหนดตารางเวลาฤดูใบไม้ผลิ
    • คำอธิบายประกอบ Spring Boot

    Spring Data REST หมายถึงอะไร

    Spring Data REST เปิดเผยทรัพยากรใน RESTful ซึ่งอยู่รอบ ๆ Spring Data Resources โดยใช้โค้ดขั้นต่ำ

    ตัวอย่างต่อไปนี้ใช้วิธี POST เพื่อขอเนื้อหาโดยใช้ http://localhost/example เป็น URL และ Content-Type: application/json เป็นส่วนหัว

    ขอเนื้อหา:

    {
        "name": "Jimmy",
        "Gender": "Male",
        "Age": 23
    }

    เนื้อหาตอบกลับ:

    {
        "name": "Jimmy",
        "Gender": "Male",
        "Age": 23
        "_links": {
            "self": {
                "href": "http://localhost:8080/example/1"
            },
            "person": {
                "href": "http://localhost:8080/example/1"
             }
        }
    }

    เหล่านี้เป็นชุดเครื่องมือที่กำหนดไว้ล่วงหน้าอย่างลึกซึ้งซึ่งมีคุณสมบัติถูกนำไปใช้กับสภาพแวดล้อมการพัฒนาที่เกี่ยวข้องเพื่อให้การพัฒนาง่ายขึ้นและประหยัดเวลาในการพัฒนา

    เมื่อใดก็ตามที่คุณเปลี่ยนรหัสในแอปพลิเคชัน Spring Boot คุณลักษณะ Spring Boot DevTools จะรีสตาร์ทโดยอัตโนมัติ ดังนั้นจึงช่วยลดปัญหาในการรีสตาร์ทแอปพลิเคชันด้วยตนเองทุกครั้งที่คุณแก้ไขโค้ด

    Spring Data คืออะไร?

    Spring data พยายามให้นักพัฒนาเข้าถึงเทคโนโลยีการเข้าถึงข้อมูลได้ง่าย เช่น ข้อมูลเชิงสัมพันธ์และไม่ใช่เชิงสัมพันธ์ และบริการข้อมูลบนคลาวด์ เนื่องจากยังคงรักษาลักษณะพิเศษของที่เก็บข้อมูลพื้นฐานไว้

    จะบอกการกำหนดค่าอัตโนมัติให้ถอยกลับเมื่อมี bean ได้อย่างไร?

    ที่นี่ คุณจะใช้คำอธิบายประกอบ @ConditionalOnMissingBean ซึ่งรวมถึงแอตทริบิวต์ชื่อและค่าดังนี้

    • แอตทริบิวต์ค่าเก็บประเภทถั่วเพื่อตรวจสอบ
    • ชื่อแอตทริบิวต์ที่ชื่อถั่วที่จะตรวจสอบ

    วิธีการดึงข้อมูลจากฐานข้อมูลใน Spring Boot?

    เราสามารถเข้าถึงข้อมูลจากฐานข้อมูล MySQL ไปยังแอปพลิเคชัน Spring Boot ของเราโดยใช้ขั้นตอนต่อไปนี้

    ขั้นตอนที่ 1: ใช้คำสั่ง create DATABASE person เพื่อสร้างฐานข้อมูลใน MySQL

      วิธีเปลี่ยนหมายเลขโทรศัพท์ของคุณใน GroupMe

    ขั้นตอนที่ 2: ภายในฐานข้อมูล สร้างตาราง:

    CREATE TABLE person(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(255));

    ขั้นตอนที่ 3: ตอนนี้สร้างแอปพลิเคชัน Spring Boot จากนั้นเพิ่ม JDBC, MySQL และการพึ่งพาเว็บที่จำเป็น

    ขั้นตอนที่ 4: กำหนดค่าฐานข้อมูลจากไฟล์ application.properties ดังด้านล่าง

    spring.datasource.url=jdbc:mysql://localhost:3306/personDetails
    spring.datasource.username=example123
    spring.datasource.password=example123
    spring.jpa.hibernate.ddl-auto=create-drop

    ขั้นตอนที่ 5: ต่อไป มาจัดการคำขอในคลาสคอนโทรลเลอร์กัน:

    package com.person;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    public class JdbcController {
       @Autowired
       JdbcTemplate jdbc;
       @RequestMapping("/save")
       public String index(){
          jdbc.execute("insert into person (name)values(Trial)");
          return "Name entered Successfully";
       }
    }

    สุดท้าย ให้เรียกใช้แอปพลิเคชันของคุณในขณะที่คุณตรวจสอบรายการฐานข้อมูลเพื่อดูข้อมูลที่เข้าถึง

    ทำไมเราต้องมี Spring Profiles?

    Spring Profiles ช่วยให้สามารถแยกการกำหนดค่าส่วนต่างๆ ของแอปพลิเคชันและนำไปใช้เพื่อการพัฒนาเฉพาะได้

    Spring Profiles ยังช่วยให้นักพัฒนาไม่ต้องลำบากกับการจัดการการกำหนดค่าภายนอกเฉพาะสภาพแวดล้อม หาก Spring Profiles ไม่พร้อมใช้งาน

    นอกจากนี้ การทำเช่นนี้จะทำให้ซิงค์ได้ยากและอาจหมายถึงความจำเป็นเพิ่มเติมในการเขียนส่วนประกอบที่เหมือนโรงงานหลายอย่าง ซึ่งจะมีประโยชน์กับบางสิ่งที่จำเป็น ทั้งนี้ขึ้นอยู่กับพารามิเตอร์เฉพาะสภาพแวดล้อมโดยเฉพาะ

    เราสามารถเปลี่ยนพอร์ตของเซิร์ฟเวอร์ Tomcat แบบฝังใน Spring boot ได้หรือไม่

    ใช่เราทำได้

    ซึ่งทำได้โดยการจัดการไฟล์ application.properties เพื่อรวมคุณสมบัติ server.port และกำหนดพอร์ตที่คุณเลือกให้กับมัน Spring Boot จะโหลดไฟล์คุณสมบัติแอปพลิเคชันโดยอัตโนมัติและใช้การกำหนดค่าที่จำเป็นกับแอปพลิเคชัน

    ตัวอย่างเช่น คุณสามารถเปลี่ยนหมายเลข server.port จากค่าเริ่มต้น 8080 เป็น server.port= 8081

    คุณกำหนดค่า Log4j สำหรับการบันทึกอย่างไร

    ด้วยขั้นตอนง่ายๆ ไม่กี่ขั้นตอนเหล่านี้ เราสามารถกำหนดค่า Log4j สำหรับการบันทึกได้:

  • ขั้นแรก สร้างโปรเจ็กต์ Java ของคุณ จากนั้นคลิกขวาที่โปรเจ็กต์ ไปที่ MyEclipse->File->New->Java Project เพื่อตั้งชื่อโปรเจ็กต์และคลิกเสร็จสิ้น
  • จากนั้น คลิกขวาที่ชื่อโปรเจ็กต์ Java และเลือก Build Path -> Configure Build Path ขั้นตอนนี้จะเพิ่มไฟล์ log4j
  • ไปที่ไลบรารีและคลิกปุ่มเพิ่ม JARS ภายนอก และเลือกไฟล์ log4j จากเมนูแบบเลื่อนลงที่ปรากฏขึ้น จากนั้นคลิกตกลง
  • สร้างไฟล์จาวาใหม่ที่คุณจะเรียกไฟล์ log4j.properties จากนั้นคลิกเสร็จสิ้นและเพิ่มไฟล์นี้ใน Classpath
  • คลิก ขั้นสูง จาก Classpath จากนั้นเลือกตัวเลือก เพิ่มโฟลเดอร์ และอย่าลืมคลิก ตกลง
  • ขณะนี้คุณสามารถค้นหาไฟล์ log4j.properties คลิกตกลงและเรียกใช้โครงการ
  • ตรวจสอบคอนโซลสำหรับเอาต์พุตด้านล่าง
  • [main] DEBUG Example – Hello this is a debug message
    [main] INFO Example – Hello this is an info message

    คอนเทนเนอร์ IoC คืออะไร?

    คอนเทนเนอร์ IoC (การผกผันของการควบคุม) เป็นคอนเทนเนอร์สปริงหลักที่ใช้การฉีดการพึ่งพาโดยอัตโนมัติ มันสร้างอินสแตนซ์ของแอปพลิเคชันของคลาสและรับผิดชอบการกำหนดค่าของอ็อบเจ็กต์และการประกอบการพึ่งพาที่จำเป็น

    นอกจากนี้ยังจัดการวงจรชีวิตของวัตถุตั้งแต่การสร้างอินสแตนซ์ไปจนถึงการทำลาย

    IoC ทำงานเหล่านี้โดยใช้การกำหนดค่าข้อมูลเมตาในโค้ด Java, XML และหมายเหตุประกอบ Java

    คอนเทนเนอร์นี้เรียกว่า Inversion of Control เนื่องจากควบคุมอ็อบเจ็กต์ Java และวงจรชีวิตของอ็อบเจ็กต์เหล่านี้ นี่เป็นงานของนักพัฒนาซอฟต์แวร์

    อธิบายวิธีสร้างแอปพลิเคชัน Spring Boot โดยใช้ Maven

    กระบวนการนี้มีขั้นตอนหลายขั้นตอน

    ขั้นตอนที่ 1: เลือกประเภทของโครงการ

    ขั้นตอนที่ 2: ตั้งชื่อโครงการของคุณเพื่อกำหนดค่า จากนั้นคลิกปุ่มเสร็จสิ้นเพื่อสร้างโครงการ

    ขั้นตอนที่ 3: ตอนนี้ เราจะกำหนดค่าไฟล์ pom.xml จากโปรเจ็กต์ Maven เพื่อสร้างโปรเจ็กต์ Spring Boot

    ไฟล์ pom.xml:

    <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">  
      <modelVersion>4.0.0</modelVersion>  
      <groupId>com.javatpoint</groupId>  
      <artifactId>spring-boot-example</artifactId>  
      <version>0.0.1-SNAPS<name>JavaTpoint Spring Boot Example</name>  
    </project>  

    การกำหนดค่าเกี่ยวข้องกับการเพิ่มพาเรนต์ไปยังโปรเจ็กต์ Maven การดำเนินการนี้จะประกาศโปรเจ็กต์ Maven เป็นโปรเจ็กต์ย่อยสำหรับโปรเจ็กต์หลัก

    <parent>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-starter-parent</artifactId>  
        <version>1.4.2.RELEASE</version>  
    </parent>  

    ขั้นตอนที่ 4: ถัดไป เพิ่มการพึ่งพาเว็บ spring-boot-starter-web ไปยัง pom.xml

    <dependencies>  
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
        </dependency>  
    </dependencies>  

    ขั้นตอนที่ 5: เพิ่มเวอร์ชัน Java ของโปรเจ็กต์

    <properties>  
        <java.version>1.8</java.version>  
    </properties> 

    ขั้นตอนที่ 6: โปรดทราบว่าทุกครั้งที่คุณเพิ่มการพึ่งพาใหม่ คุณต้องอัปเดตโปรเจ็กต์ Maven

      7 จุดเชื่อมต่อไร้สายที่ดีที่สุดและมีประสิทธิภาพ (WAP) สำหรับปี 2022

    ขั้นตอนที่ 7: ทำให้โปรเจ็กต์ Maven ทำงานได้โดยการสร้างคลาส Java ภายในแพ็คเกจ src/main/java

    ขั้นตอนที่ 8: ถัดไป เรียกวิธีการรันแบบสแตติกคลาสของ Spring Application

    ขั้นตอนที่ 9: สุดท้าย เรียกใช้คลาสเป็นแอปพลิเคชัน Java

    ข้อดีของ Spring Boot เหนือ Spring คืออะไร?

    • ความสามารถในการบูตสแตรปของ Spring Boot เพื่อคอมไพล์ภาษาต้นทางโดยใช้ Boot initializer ซึ่งเป็นเทคนิคที่เรียกว่า bootstrapping ช่วยให้ประหยัดพื้นที่ในอุปกรณ์ของผู้ใช้และยังช่วยลดเวลาในการโหลดของแอปพลิเคชันอีกด้วย
    • Spring Boot ต่างจาก Spring ตรงที่อนุญาตให้มีการจัดการการพึ่งพาหลังจากเพิ่มการพึ่งพา Spring-boot โดยไม่ต้องพึ่งพา POM พาเรนต์ (โมเดลอ็อบเจ็กต์หลัก) หรือไฟล์ XML
    • Spring Boot ยังอนุญาตให้นักพัฒนาใช้คำอธิบายประกอบหรือการกำหนดค่า XML โดยไม่จำเป็นต้องใช้การกำหนดค่า XML
    • นักพัฒนาชอบ Spring Boot สำหรับรหัสสำเร็จรูปที่ลดลงซึ่งจำเป็นสำหรับการตั้งค่าแอปพลิเคชัน เนื่องจาก Spring Boot มาพร้อมกับฐานข้อมูลในหน่วยความจำและเซิร์ฟเวอร์ Tomcat แบบฝัง ทำให้โค้ดสำเร็จรูปลดลง ในทางกลับกัน Spring มีรหัสสำเร็จรูปมากกว่า
    • Spring Boot ไม่ต้องการไฟล์ WAR (ทรัพยากรแอปพลิเคชันบนเว็บ) และสามารถพึ่งพา JAR (ทรัพยากร Java) เท่านั้นซึ่งมีโครงสร้างขนาดเล็กและเรียบง่ายกว่า จึงมีประโยชน์ต่อผู้ใช้และนักพัฒนามากกว่า
    • Spring Boot ยังฝังเซิร์ฟเวอร์โดยอัตโนมัติ เช่น Tomcat และ Jetty; ดังนั้น ผู้พัฒนาจึงไม่จำเป็นต้องตั้งค่าเซิร์ฟเวอร์ด้วยตนเองเหมือนที่คุณควรทำในฤดูใบไม้ผลิ

    กระบวนการแบ่งหน้าจะแบ่งข้อมูลออกเป็นส่วนๆ เพื่อประหยัดทรัพยากร ประกอบด้วยสองฟิลด์ ขนาดหน้า และหมายเลขหน้า

    กระบวนการนี้เกี่ยวข้องกับขั้นตอนไม่กี่ขั้นตอน ได้แก่ :

    ขั้นตอนที่ 1: การตั้งค่าเริ่มต้น
    เอนทิตี Consisetupn เราจะตั้งชื่อบุคคลเป็นคลาสโดเมน

    @Entity 
    public class Person {
        @Id
        private long id;
        private String name; 
    }

    ขั้นตอนที่ 2: การสร้างที่เก็บ
    จากนั้น ใช้ PersonRepository ขยาย PagingAndSortingRepository เพื่อให้สามารถรับเมธอด findAll(Pageable pageable) และ findAll(Sort sort) สำหรับการเพจและการเรียงลำดับตามลำดับ

    public interface PersonRepository extends PagingAndSortingRepository<Person, Integer> {
        List<Product> findAllByPrice(double price, Pageable pageable);
    }

    ขั้นตอนที่ 3: ขั้นตอนการแบ่งหน้า
    ขั้นตอนแรกที่นี่เกี่ยวข้องกับการสร้างวัตถุ PageRequest โดยส่งหมายเลขหน้าและขนาดหน้าตามที่ร้องขอซึ่งใช้อินเทอร์เฟซ Pageable

    Pageable firstPageWithTwoElements = PageRequest.of(0,2);
    Pageable secondPageWithThreeElements = PageRequest.of(1,3);

    จากนั้นส่งอ็อบเจ็กต์ PageRequest นี้ไปยังเมธอดที่เก็บเป็นพารามิเตอร์

    Page<Person> allProducts = personRepository.findAllByPrice(findPageWithTwoElements);
    List<Items> allTwoDollarItems = itemsRepository.findAllByPrice(2, secondPageThreeElements) 

    โดยค่าเริ่มต้น เมธอด findAll(Pageable pageable) จะส่งคืนออบเจ็กต์ Page

    อธิบายวิธีลงทะเบียนการกำหนดค่าอัตโนมัติแบบกำหนดเอง

    ภายใต้ไฟล์ @EnableAutoConfiguration คีย์ META-INF/spring.factories ให้ระบุชื่อที่มีคุณสมบัติครบถ้วน ขั้นตอนนี้ลงทะเบียนคลาสการกำหนดค่าอัตโนมัติ

    org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.baeldung.autoconfigure.CustomAutoConfiguration

    การสร้างโครงการโดยใช้ Maven คุณจะต้องวางไฟล์ในไดเร็กทอรีทรัพยากร/META-INF

    Bootstrapping ใน Spring Boot คืออะไร?

    Bootstrapping เป็นกระบวนการของการดำเนินการตรรกะในแอปพลิเคชัน Spring Boot เมื่อเริ่มทำงาน
    Boot initializr จะคอมไพล์ภาษาต้นฉบับใน Spring Boot กระบวนการนี้ช่วยประหยัดพื้นที่อุปกรณ์และลดเวลาในการโหลดแอปพลิเคชัน

    ประโยคสุดท้าย 👨‍💻

    บทความนี้ครอบคลุมคำถามเกี่ยวกับ Spring Boot ที่ผู้สัมภาษณ์อาจถามคุณในระหว่างการสัมภาษณ์และคำตอบที่จะช่วยให้คุณเก่งขึ้นอย่างมั่นใจ เราหวังว่าคุณจะได้งานในฝันนั้น!

    คุณอาจต้องการเรียนรู้เคล็ดลับที่เกี่ยวข้องสองสามข้อจากคำถามที่ถามระหว่างการสัมภาษณ์ Java

    ขอให้โชคดี!🙂

    เรื่องล่าสุด

    x