คุณเป็นนักพัฒนา 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 ช่วยเพิ่มการพัฒนาที่ง่ายและรวดเร็ว
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 ได้โดยใช้ไม่กี่ขั้นตอนโดยให้รายละเอียดของโปรเจ็กต์
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
ขั้นตอนที่ 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 สำหรับการบันทึกได้:
[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: ทำให้โปรเจ็กต์ 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
ขอให้โชคดี!🙂