Spring Boot - บทนำ
Spring Boot เป็นเฟรมเวิร์กที่ใช้ Java แบบโอเพนซอร์สที่ใช้สร้างไมโครเซอร์วิส ได้รับการพัฒนาโดย Pivotal Team และใช้ในการสร้างแอปพลิเคชันสปริงแบบสแตนด์อโลนและการผลิต บทนี้จะให้ข้อมูลเบื้องต้นเกี่ยวกับ Spring Boot และทำความคุ้นเคยกับแนวคิดพื้นฐาน
Micro Service คืออะไร?
Micro Service เป็นสถาปัตยกรรมที่ช่วยให้นักพัฒนาสามารถพัฒนาและปรับใช้บริการได้อย่างอิสระ แต่ละบริการที่ทำงานมีกระบวนการของตัวเองและทำให้ได้รูปแบบน้ำหนักเบาเพื่อรองรับการใช้งานทางธุรกิจ
ข้อดี
บริการไมโครมอบข้อดีดังต่อไปนี้ให้กับนักพัฒนา -
- ใช้งานง่าย
- ปรับขนาดได้ง่าย
- เข้ากันได้กับตู้คอนเทนเนอร์
- การกำหนดค่าขั้นต่ำ
- เวลาในการผลิตน้อยลง
Spring Boot คืออะไร?
Spring Boot เป็นแพลตฟอร์มที่ดีสำหรับนักพัฒนา Java ในการพัฒนาแอปพลิเคชัน Spring แบบสแตนด์อโลนและเกรดการผลิตที่คุณสามารถทำได้ just run. คุณสามารถเริ่มต้นด้วยการกำหนดค่าขั้นต่ำโดยไม่จำเป็นต้องตั้งค่าการกำหนดค่า Spring ทั้งหมด
ข้อดี
Spring Boot มอบข้อดีดังต่อไปนี้ให้กับนักพัฒนา -
- เข้าใจง่ายและพัฒนาแอพพลิเคชั่นสปริง
- เพิ่มผลผลิต
- ช่วยลดเวลาในการพัฒนา
เป้าหมาย
Spring Boot ได้รับการออกแบบโดยมีเป้าหมายดังต่อไปนี้ -
- เพื่อหลีกเลี่ยงการกำหนดค่า XML ที่ซับซ้อนใน Spring
- เพื่อพัฒนาแอพพลิเคชั่น Spring ที่พร้อมใช้งานจริงในวิธีที่ง่ายขึ้น
- เพื่อลดเวลาในการพัฒนาและเรียกใช้แอปพลิเคชันอย่างอิสระ
- เสนอวิธีที่ง่ายกว่าในการเริ่มต้นใช้งานแอปพลิเคชัน
ทำไมต้อง Spring Boot
คุณสามารถเลือก Spring Boot ได้เนื่องจากคุณสมบัติและประโยชน์ที่มอบให้ที่นี่ -
มีวิธีที่ยืดหยุ่นในการกำหนดค่า Java Beans, การกำหนดค่า XML และธุรกรรมฐานข้อมูล
ให้การประมวลผลชุดที่มีประสิทธิภาพและจัดการปลายทาง REST
ใน Spring Boot ทุกอย่างจะถูกกำหนดค่าโดยอัตโนมัติ ไม่จำเป็นต้องกำหนดค่าด้วยตนเอง
มีแอปพลิเคชั่นสปริงตามคำอธิบายประกอบ
ช่วยลดการจัดการการพึ่งพา
รวมถึงคอนเทนเนอร์ Servlet ในตัว
มันทำงานอย่างไร?
Spring Boot จะกำหนดค่าแอปพลิเคชันของคุณโดยอัตโนมัติตามการอ้างอิงที่คุณเพิ่มลงในโปรเจ็กต์โดยใช้ @EnableAutoConfigurationคำอธิบายประกอบ ตัวอย่างเช่นถ้าฐานข้อมูล MySQL อยู่บน classpath ของคุณ แต่คุณไม่ได้กำหนดค่าการเชื่อมต่อฐานข้อมูลใด ๆ Spring Boot จะกำหนดค่าฐานข้อมูลในหน่วยความจำโดยอัตโนมัติ
จุดเริ่มต้นของแอปพลิเคชันสปริงบูตคือคลาสที่มี @SpringBootApplication คำอธิบายประกอบและวิธีการหลัก
Spring Boot จะสแกนส่วนประกอบทั้งหมดที่รวมอยู่ในโปรเจ็กต์โดยอัตโนมัติโดยใช้ @ComponentScan คำอธิบายประกอบ
สปริงบูตสตาร์ท
การจัดการการจัดการการพึ่งพาเป็นงานที่ยากสำหรับโครงการขนาดใหญ่ Spring Boot แก้ไขปัญหานี้โดยจัดเตรียมชุดการอ้างอิงเพื่อความสะดวกของนักพัฒนา
ตัวอย่างเช่นหากคุณต้องการใช้ Spring และ JPA สำหรับการเข้าถึงฐานข้อมูลก็เพียงพอแล้วหากคุณรวมไว้ spring-boot-starter-data-jpa การพึ่งพาในโครงการของคุณ
โปรดทราบว่า Spring Boot starters ทั้งหมดจะเป็นไปตามรูปแบบการตั้งชื่อเดียวกัน spring-boot-starter- * โดยที่ * ระบุว่าเป็นประเภทของแอปพลิเคชัน
ตัวอย่าง
ดู Spring Boot starters ต่อไปนี้ที่อธิบายไว้ด้านล่างเพื่อความเข้าใจที่ดีขึ้น -
Spring Boot Starter Actuator dependencyใช้เพื่อตรวจสอบและจัดการแอปพลิเคชันของคุณ รหัสดังแสดงด้านล่าง -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Spring Boot Starter Security dependencyใช้สำหรับ Spring Security รหัสดังแสดงด้านล่าง -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
Spring Boot Starter web dependencyใช้ในการเขียน Rest Endpoints รหัสดังแสดงด้านล่าง -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Spring Boot Starter Thyme Leaf dependencyใช้ในการสร้างเว็บแอปพลิเคชัน รหัสดังแสดงด้านล่าง -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Spring Boot Starter Test dependencyใช้สำหรับเขียนกรณีทดสอบ รหัสดังแสดงด้านล่าง -
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
การกำหนดค่าอัตโนมัติ
Spring Boot Auto Configuration จะกำหนดค่าแอปพลิเคชัน Spring ของคุณโดยอัตโนมัติตามการอ้างอิง JAR ที่คุณเพิ่มในโปรเจ็กต์ ตัวอย่างเช่นถ้าฐานข้อมูล MySQL อยู่บนพา ธ คลาสของคุณ แต่คุณไม่ได้กำหนดค่าการเชื่อมต่อฐานข้อมูลใด ๆ Spring Boot จะกำหนดค่าฐานข้อมูลในหน่วยความจำโดยอัตโนมัติ
เพื่อจุดประสงค์นี้คุณต้องเพิ่ม @EnableAutoConfiguration คำอธิบายประกอบหรือ @SpringBootApplicationคำอธิบายประกอบไปยังไฟล์คลาสหลักของคุณ จากนั้นแอปพลิเคชัน Spring Boot ของคุณจะได้รับการกำหนดค่าโดยอัตโนมัติ
ปฏิบัติตามรหัสต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@EnableAutoConfiguration
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
แอปพลิเคชัน Spring Boot
จุดเริ่มต้นของ Spring Boot Application คือคลาสที่มี @SpringBootApplicationคำอธิบายประกอบ คลาสนี้ควรมีเมธอดหลักในการรันแอพพลิเคชั่น Spring Boot@SpringBootApplication คำอธิบายประกอบรวมถึงการกำหนดค่าอัตโนมัติการสแกนส่วนประกอบและการกำหนดค่า Spring Boot
หากคุณเพิ่ม @SpringBootApplication คำอธิบายประกอบในชั้นเรียนคุณไม่จำเป็นต้องเพิ่มไฟล์ @EnableAutoConfiguration, @ComponentScan และ @SpringBootConfigurationคำอธิบายประกอบ @SpringBootApplication คำอธิบายประกอบรวมถึงคำอธิบายประกอบอื่น ๆ ทั้งหมด
ปฏิบัติตามรหัสต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
การสแกนส่วนประกอบ
แอปพลิเคชัน Spring Boot จะสแกนการประกาศถั่วและแพ็คเกจทั้งหมดเมื่อแอปพลิเคชันเริ่มต้น คุณต้องเพิ่มไฟล์@ComponentScan คำอธิบายประกอบสำหรับไฟล์คลาสของคุณเพื่อสแกนส่วนประกอบของคุณที่เพิ่มในโครงการของคุณ
ปฏิบัติตามรหัสต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}