Ngày xưa, khi phát triển ứng dụng bằng Java, việc cấu hình môi trường có thể nói là một “cơn ác mộng” vì nó khá phức tạp và tốn thời gian.
Nhưng rồi, những công cụ hỗ trợ tự động hóa cấu hình đã ra đời, và trong số đó, Spring Boot của Pivotal nổi bật như một "người hùng" giúp cuộc sống lập trình viên trở nên dễ thở hơn.
Từ các dự án nhỏ đến những hệ thống lớn, Spring Boot đã chinh phục được lòng tin của cộng đồng nhờ khả năng tối giản hoá quy trình phát triển, giúp chúng ta không phải bận tâm đến những chi tiết cài đặt rắc rối. Vậy Spring Boot là gì? Hãy cùng mình tìm hiểu trong bài viết sau đây nhé.
1. Spring Boot là gì?
Spring Boot là một framework được xây dựng dựa trên Spring Framework, được thiết kế để đơn giản hóa việc phát triển các ứng dụng Java bằng cách tự động hóa các cấu hình phức tạp và cung cấp các thiết lập mặc định tối ưu.
Ban đầu, Spring Framework xuất hiện với mục tiêu đơn giản hóa việc cấu hình cho ứng dụng web. Nhưng vẫn còn nhiều nhược điểm khi phải cấu hình qua các file XML khá rườm rà, không đạt được hiệu quả tối đa. Dù vậy, Spring vẫn là một công cụ mạnh mẽ giúp dự án có cấu trúc rõ ràng và dễ quản lý.
Để giải quyết những bất tiện này, Spring Boot đã ra đời với mục tiêu "làm mới" mọi thứ. Spring Boot cung cấp gần như mọi thứ bạn cần để xây dựng một ứng dụng phổ biến, với các cấu hình mặc định tối ưu sẵn. Giúp bạn triển khai ứng dụng trong thời gian ngắn, giảm bớt công sức cấu hình phức tạp.
Ngoài ra, Spring Boot còn tích hợp sẵn máy chủ Tomcat, cho phép bạn khởi chạy ứng dụng ngay lập tức mà không cần phải cài đặt thêm.
2. Hướng dẫn Cài đặt và Sử dụng Spring Boot
2.1 Chuẩn bị môi trường
Để bắt đầu, bạn cần đảm bảo đã cài đặt, trong ví dụ này mình sẽ sử dụng IDE là VSCode:
- Java Development Kit (JDK): Tải và cài đặt JDK từ trang chủ Oracle hoặc OpenJDK. Spring Boot yêu cầu JDK 8 hoặc cao hơn.
- Maven (hoặc Gradle): Đây là công cụ build phổ biến trong các dự án Spring Boot.
- Extension Pack for Java: Mở VSCode và vào mục Extensions, tìm kiếm và cài đặt Extension Pack for Java.
- Spring Boot Extension Pack: Mở VSCode và vào mục Extensions, tìm kiếm và cài đặt Spring Boot Extension Pack.
2.2 Tạo Project Spring Boot
- Bước 1: Mở VSCode và nhấm tổ hợp phím Ctrl (Command) + Shift + P (hoặc vào View > Command Palette).
- Bước 2: Nhập Spring Initializr và chọn Spring Initializr: Create a Maven Project (hoặc Gradle nếu bạn thích Gradle).
- Bước 3: Chọn Version cho Spring Boot, ở đây mình chọn 3.3.5, các bạn cứ chọn version nào mới nhất là được.
- Bước 4: Chọn ngôn ngữ là Java, tiếp đến là Group Id, và Artifact, mình đã điền như hình bên dưới, các bạn có thể tham khảo.
- Bước 5: Chọn package type là Jar, và Java version là 17
- Bước 6: Cài thêm các dependency như
Spring Web
(cho ứng dụng web). - Bước 7: Nhấn Enter và chọn Folder để khởi tạo dự án, Spring Initializr sẽ tạo cho mình dự án vào folder
200Lab_Series
như hình bên dưới đây.
2.3 Cấu hình và Viết Code cho Ứng dụng Spring Boot
Trong Project sẽ có file DemoApplication.java
trong thư mục src/main/java
. Đây là file chính để khởi động ứng dụng Spring Boot.
Ví dụ, bạn có thể thêm một API đơn giản như sau:
package com.lab200.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@RestController
@RequestMapping("/api")
class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, Spring Boot!";
}
}
2.4 Chạy Ứng dụng Spring Boot trên VSCode
Mở Terminal trong VSCode (Ctrl + `), di chuyến đến folder demo và chạy lệnh:
./mvnw spring-boot:run
Lệnh này sẽ khởi động ứng dụng và bạn có thể truy cập tại http://localhost:8080/api/hello
. Trên màn hình sẽ hiển thị Hello, Spring Boot!
2.5 Cài đặt và Chạy Spring Boot với Docker
Để đảm bảo rằng tất cả mọi người trong team của bạn không sử dụng các version khác nhau của jdk, hay xung đột thư viện, lỗi trong quá trình setup môi trường, ... chúng ta cần đóng gói mã nguồn và cấu hình vào Docker container, bây giờ mình sẽ hướng dẫn các bạn cách containerize nhé.
- Bước 1: Trong thư mục demo tạo file
Dockerfile
có nội dung như sau
# Stage 1: Build
FROM maven:3.8.7-openjdk-18-slim AS build
# Đặt thư mục làm việc cho stage build
WORKDIR /app
# Sao chép file cấu hình Maven và source code vào image
COPY pom.xml .
COPY src ./src
# Chạy lệnh Maven để build file JAR
RUN mvn clean package -DskipTests
# Stage 2: Run
FROM openjdk:21-slim
# Đặt thư mục làm việc cho stage run
WORKDIR /app
# Sao chép file JAR đã build từ stage build vào stage run
COPY --from=build /app/target/demo-0.0.1-SNAPSHOT.jar app.jar
# Chạy ứng dụng Spring Boot
ENTRYPOINT ["java", "-jar", "app.jar"]
- Bước 2: Trong thư mục demo chạy câu bệnh build Docker image
docker build -t springboot-app .
- Bước 3: Khởi chạy container từ Docker image vừa mới build xong
docker run -p 8080:8080 springboot-app
- Bước 4: Mở trình duyệt và truy đường link
http://localhost:8080/api/hello
. Trên màn hình sẽ hiển thịHello, Spring Boot!
3. Kết luận
Nhờ vào những tính năng tự động cấu hình mạnh mẽ, Spring Boot giúp chúng ta tiết kiệm thời gian và dễ dàng triển khai từ các dự án nhỏ đến những hệ thống lớn.
Các bài viết liên quan:
Bài viết liên quan
Two-Factor Authentication (2FA) là gì? Vì sao chỉ Mật khẩu thôi là chưa đủ?
Nov 13, 2024 • 7 min read
Test-Driven Development (TDD) là gì? Hướng dẫn thực hành TDD
Nov 13, 2024 • 6 min read
Quản lý và Tối ưu hóa Memory trong JavaScript
Nov 12, 2024 • 22 min read
Domain-Driven Design (DDD) là gì? Ví dụ dễ hiểu về DDD
Nov 12, 2024 • 11 min read
MikroORM là gì? So sánh TypeORM, Sequelize, MikroORM và Prisma
Oct 26, 2024 • 10 min read
Tìm Hiểu Single Sign-On (SSO): Giải pháp đăng nhập một lần
Oct 26, 2024 • 11 min read