Application Properties & YAML
การกำหนดค่าด้วย application.properties/yml, @Value, @ConfigurationProperties, profiles, พร็อพเพอร์ตี้ภายนอก
1ความแตกต่างหลักระหว่าง application.properties และ application.yml ใน Spring Boot คืออะไร?
ความแตกต่างหลักระหว่าง application.properties และ application.yml ใน Spring Boot คืออะไร?
คำตอบ
ทั้งสองไฟล์ใช้ในการกำหนดค่า Spring Boot แต่ใช้รูปแบบที่ต่างกัน รูปแบบ YAML (.yml) อนุญาตให้ใช้โครงสร้างแบบลำดับชั้นด้วยการเยื้อง ทำให้อ่านง่ายขึ้นสำหรับการกำหนดค่าที่ซับซ้อน ส่วนรูปแบบ properties (.properties) ใช้ไวยากรณ์ key=value แบบแบน Spring Boot จะโหลดไฟล์ใดไฟล์หนึ่งโดยอัตโนมัติ โดยให้ความสำคัญกับ .properties หากมีทั้งสองไฟล์
2พร็อพเพอร์ตี้ใดที่ใช้เปลี่ยนพอร์ตของเซิร์ฟเวอร์ฝังตัวใน Spring Boot?
พร็อพเพอร์ตี้ใดที่ใช้เปลี่ยนพอร์ตของเซิร์ฟเวอร์ฝังตัวใน Spring Boot?
คำตอบ
พร็อพเพอร์ตี้ server.port กำหนดพอร์ต HTTP ของเซิร์ฟเวอร์ฝังตัว (Tomcat, Jetty, Undertow) โดยค่าเริ่มต้น Spring Boot จะเริ่มทำงานที่พอร์ต 8080 พร็อพเพอร์ตี้นี้สามารถกำหนดได้ใน application.properties (server.port=9000) หรือใน YAML (server: port: 9000) นอกจากนี้ยังสามารถแทนที่ผ่านอาร์กิวเมนต์ JVM (-Dserver.port=9000) หรือตัวแปรสภาพแวดล้อมได้
3จะประกาศพร็อพเพอร์ตี้ spring.datasource.url ใน YAML สำหรับฐานข้อมูล PostgreSQL บนเครื่องอย่างไร?
จะประกาศพร็อพเพอร์ตี้ spring.datasource.url ใน YAML สำหรับฐานข้อมูล PostgreSQL บนเครื่องอย่างไร?
คำตอบ
ใน YAML พร็อพเพอร์ตี้แบบลำดับชั้นจะใช้การเยื้อง (เว้นวรรค ไม่ใช่แท็บ) พร็อพเพอร์ตี้ spring.datasource.url จะถูกแยกออกเป็น spring → datasource → url แต่ละระดับจะเยื้องด้วยช่องว่าง 2 ช่อง โครงสร้างแบบลำดับชั้นนี้ทำให้การกำหนดค่าอ่านง่ายกว่าเวอร์ชัน properties แบบแบน (spring.datasource.url=jdbc:postgresql://localhost:5432/mydb)
จะเปิดใช้งาน profile 'dev' ตอนเริ่มต้นแอปพลิเคชัน Spring Boot อย่างไร?
แอนโนเทชันใดที่ช่วยให้สามารถฉีดพร็อพเพอร์ตีการกำหนดค่าเข้าไปใน Spring bean ได้?
+13 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Spring Boot อื่นๆ
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
การทำ Logging ด้วย SLF4J และ Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
การจัดการข้อยกเว้น
Bean Validation
พื้นฐาน Spring Data JPA
เอนทิตี JPA และความสัมพันธ์
การสืบค้น JPA
Spring Data Repositories
พื้นฐาน Spring Security
Spring Boot Actuator
การทดสอบหน่วยด้วย JUnit และ Mockito
การทดสอบ Spring Boot
Profiles และ Environment
RestTemplate และ WebClient
Async และ Scheduling
Caching ด้วย Spring
Spring WebFlux (Reactive)
ทรานแซกชัน Spring
การยืนยันตัวตนและการให้สิทธิ์ขั้นสูง
JWT และความปลอดภัยแบบ Stateless
OAuth2 และ Authorization Server
Spring Boot และ Docker
Microservices ด้วย Spring
Spring Cloud Config
การเพิ่มประสิทธิภาพการทำงาน
GraalVM Native Images
เชี่ยวชาญ Spring Boot สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี