Spring Boot

Framework ของ Java สำหรับสร้าง backend ต่อยอดจาก Spring ให้ตั้งค่าน้อยลง ใช้งานได้เร็วขึ้น — convention over configuration

จุดเด่น

  • ตั้งค่าน้อย ใช้งานได้เลย
  • IoC Container จัดการ Dependency Injection ให้อัตโนมัติ
  • สร้าง REST API ได้ง่าย
  • เชื่อมต่อ database ด้วย Spring Data JPA
  • ค่า default เปิด OSIV (spring.jpa.open-in-view=true)

Annotations ที่ใช้บ่อย

@SpringBootApplication   // จุดเริ่มต้น app
@RestController          // ทำ REST API
@Autowired               // Dependency injection อัตโนมัติ
@Service                 // บอกว่า class นี้เป็น business logic
@Repository              // บอกว่า class นี้จัดการ database

Spring Boot vs Spring

ด้านSpringSpring Boot
ตั้งค่าconfig เองเยอะauto-configuration
เริ่มต้นยุ่งยากง่าย — Spring Initializr
เปรียบเทียบประกอบคอมเองซื้อคอมสำเร็จ

ข้างในก็คือ Spring นั่นแหละ แค่ห่อให้ใช้ง่ายขึ้น

เปรียบเทียบกับ Flutter

ด้านSpring Boot (Backend)Flutter (Frontend)
ภาษาJavaDart
DI@Autowired (อัตโนมัติ)Provider / get_it (manual)
โครงสร้างSpring MVCWidget Tree
APIสร้าง REST APIเรียกใช้ REST API
  • Spring — framework ตัวแม่
  • Java — ภาษาที่ใช้
  • IoC Container — จัดการ beans และ DI
  • Dependency Injection — pattern หลัก
  • OSIV — พฤติกรรม default ที่ต้องระวัง
  • Framework — Spring Boot เป็น framework