Giới thiệu Spring Boot: Hướng dẫn toàn diện cho lập trình viên Java

Giới thiệu Spring Boot

Spring Boot là một framework phát triển nhanh dựa trên Spring, áp dụng nguyên tắc "convention over configuration" để giảm thiểu cấu hình XML. Các lợi ích chính bao gồm:

  • Phụ thuộc khởi đầu (Starter Dependencies): Tổng hợp các phụ thuộc phổ biến để đơn giản hóa cấu hình Maven/Gradle.
  • Cấu hình tự động (Auto-Configuration): Tự động cấu hình các thành phần của Spring dựa trên đường dẫn lớp và Bean.
  • Máy chủ nhúng: Bao gồm Tomcat, Jetty hoặc Undertow, có thể chạy trực tiếp từ JAR.
  • Tính năng cấp sản xuất: Cung cấp kiểm tra sức khỏe, giám sát chỉ số, cấu hình bên ngoài, v.v.

Chuẩn bị môi trường

  • JDK: 8 hoặc 11 (Spring Boot 2.x), 17 (Spring Boot 3.x).
  • Công cụ xây dựng: Maven 3.5+ hoặc Gradle 6+.
  • IDE: IntelliJ IDEA, Eclipse, VS Code đều được (khuyến nghị IDEA).
  • Tùy chọn: Postman (kiểm thử API), Docker (triển khai container).

Tạo ứng dụng Spring Boot đầu tiên

Sử dụng Spring Initializr để tạo dự án

Truy cập start.spring.io, chọn:

  • Dự án: Maven
  • Ngôn ngữ: Java
  • Phiên bản Spring Boot: Chọn phiên bản ổn định (ví dụ 3.2.x)
  • Nhóm: com.example
  • Artifacts: demo
  • Phụ thuộc: Spring Web (để xây dựng REST API)

Kết cấu dự án

demo/
├── src/main/java/com/example/demo/
│   └── AppKhoiDong.java      # Lớp khởi động
├── src/main/resources/
│   ├── caidat.properties    # Tệp cấu hình
│   └── tinhnang/            # Tài nguyên tĩnh
│   └── mau/                 # Tệp mẫu
└── pom.xml

Viết giao diện REST đầu tiên

@RestController
public class XinChaoController {
    @GetMapping("/xin-chao")
    public String xinChao() {
        return "Xin chào, Spring Boot!";
    }
}

Chạy ứng dụng

Thực thi phương thức `main()` trong `AppKhoiDong`, sau khi thấy nhật ký khởi động, truy cập http://localhost:8080/xin-chao để xem kết quả.

Đặc trưng cốt lõi chi tiết

Lớp khởi động và @SpringBootApplication

@SpringBootApplication là một chú thích tổng hợp bao gồm:

  • @Configuration: Khai báo lớp cấu hình
  • @EnableAutoConfiguration: Kích hoạt cấu hình tự động
  • @ComponentScan: Quét tự động các thành phần trong gói hiện tại và các gói con

Phụ thuộc khởi đầu

Trong tệp pom.xml, thêm các phụ thuộc spring-boot-starter-* để nhận một nhóm phụ thuộc tương thích. Ví dụ:

  • spring-boot-starter-web: Bao gồm Spring MVC, Jackson, Tomcat
  • spring-boot-starter-data-jpa: Bao gồm Hibernate, Spring Data JPA, HikariCP

Tệp cấu hình

Spring Boot hỗ trợ caidat.properties hoặc caidat.yml. Một số cấu hình thông dụng:

# Thay đổi cổng
server.port=8081

# Cấu hình cơ sở dữ liệu
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456

Hoặc sử dụng định dạng YAML (gọn hơn):

server:
  port: 8081
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: 123456

Ghi log

Mặc định sử dụng Logback, có thể thiết lập mức độ trong tệp cấu hình:

logging.level.com.example=DEBUG
logging.file.name=ungdung.log

Thẻ: Spring Boot Java Maven Gradle Thymeleaf

Đăng vào ngày 27 tháng 5 lúc 20:40