Giáo trình Spring Boot MVC và REST API 2026: 12 chương, 28 bài
- 18-10-2026
- Toanngo92
- 0 Comments
Giáo trình Spring Boot MVC và REST API trên Học Viết Code gồm 12 chương, 28 bài tiếng Việt. Nội dung được viết mới và đối chiếu tài liệu chính thức tại tháng 10/2026; tài liệu PDF cũ chỉ được dùng tham khảo chủ đề. Bộ bài dùng Java 21, Spring Boot 4.1.1 và Maven, đi từ trang HTML Thymeleaf tới API JSON trên cùng một ứng dụng quản lý khóa học HVC Academy.
Mục lục
Bạn cần biết gì trước khi học?
Nên có Java cơ bản: class, interface, collection, exception và cách dùng IDE; biết SQL CRUD cùng khái niệm HTTP request/response. Nếu thiếu một phần, bạn có thể quay lại các khóa Java và cơ sở dữ liệu trên Học Viết Code rồi tiếp tục theo số bài. Đây không phải khóa nhập môn cú pháp Java.
Sau 28 bài bạn có thể làm gì?
- Xây website MVC có danh sách, chi tiết, biểu mẫu và layout Thymeleaf.
- Lưu dữ liệu bằng JPA/MySQL, quản lý transaction và migration.
- Thêm validation, tìm kiếm, phân trang và upload/download có giới hạn.
- Thiết lập đăng nhập, quyền teacher/student, CSRF và CORS.
- Tạo REST API CRUD có DTO, status HTTP và ProblemDetail.
- Kiểm thử Service, MVC, API và đóng gói JAR/Docker.
Mã nguồn xuyên suốt và cách dùng
Mã nguồn mẫu có cấu hình H2 để chạy ngay, profile MySQL để lưu bền, template HTML và bộ test. Các đoạn trích trong bài ghi rõ tệp nguồn; khi có lược bớt import hoặc phần còn lại, hãy đọc tệp hoàn chỉnh trong gói tải về. Không cần gõ một đoạn giữa class vào tệp trống rồi mong biên dịch được.
Tải mã nguồn HVC Academy (ZIP) — Java 21, Spring Boot 4.1.1; có README hướng dẫn chạy và kiểm thử.
Bắt đầu bằng README và bài 02: đặt mật khẩu demo qua biến môi trường, chạy ứng dụng, mở /courses rồi /login. Teacher và student chỉ là người dùng demo trong bộ nhớ. Nội dung MVC và API được triển khai trong cùng mã nguồn cuối khóa để bạn thấy toàn cảnh; hãy đọc theo thứ tự để hiểu từng phần, không yêu cầu làm bài tập hay dự án cuối khóa riêng.
Mục lục 12 chương
Chương 1: Khởi đầu và môi trường 2026
- Spring Boot bài 01: Spring Boot là gì? Lộ trình MVC và REST API năm 2026
- Spring Boot bài 02: Cài Java 21, tạo và chạy dự án Spring Boot 4.1.1
Chương 2: Bean, kiến trúc và cấu hình
- Spring Boot bài 03: Bean, IoC và Dependency Injection qua constructor
- Spring Boot bài 04: Kiến trúc Controller–Service–Repository và cấu hình profile
Chương 3: Spring MVC và dữ liệu hiển thị
- Spring Boot bài 05: Spring MVC: request, Controller, Model và View
- Spring Boot bài 06: Hiển thị chi tiết khóa học bằng Thymeleaf
Chương 4: Tổ chức giao diện Thymeleaf
- Spring Boot bài 07: Biểu thức Thymeleaf, vòng lặp và hiển thị an toàn
- Spring Boot bài 08: Fragment, layout và tài nguyên CSS trong Spring Boot
Chương 5: Biểu mẫu, validation và điều hướng
- Spring Boot bài 09: Binding biểu mẫu tạo và sửa khóa học
- Spring Boot bài 10: Validation và BindingResult: báo lỗi ngay trên biểu mẫu
- Spring Boot bài 11: Post/Redirect/Get, flash message và session
Chương 6: JPA, MySQL và transaction
- Spring Boot bài 12: JPA Entity, Repository, H2 và migration đầu tiên
- Spring Boot bài 13: Kết nối MySQL, CRUD và transaction trong Service
- Spring Boot bài 14: Quan hệ JPA, DTO và tránh truy vấn N+1
Chương 7: Tìm kiếm, phân trang và tài liệu
- Spring Boot bài 15: Tìm kiếm, phân trang và sắp xếp có kiểm soát
- Spring Boot bài 16: Upload và download tài liệu có giới hạn
Chương 8: Đăng nhập, phân quyền và bảo vệ request
- Spring Boot bài 17: Spring Security: đăng nhập, mật khẩu và SecurityFilterChain
- Spring Boot bài 18: Phân quyền teacher/student và bảo vệ endpoint
- Spring Boot bài 19: CSRF, CORS và gọi API có session đúng cách
Chương 9: REST API và hợp đồng HTTP
- Spring Boot bài 20: REST Controller, JSON và DTO cho API danh sách
- Spring Boot bài 21: REST CRUD: POST, PUT, DELETE và mã trạng thái
- Spring Boot bài 22: Validation API, ProblemDetail và hợp đồng lỗi
Chương 10: Tích hợp HTTP, email và lịch tác vụ
- Spring Boot bài 23: Gọi dịch vụ HTTP bằng RestClient và đặt timeout
- Spring Boot bài 24: Gửi email và lập lịch tác vụ trong Spring Boot
Chương 11: Kiểm thử Service, MVC và API
- Spring Boot bài 25: Unit test Service với JUnit và Mockito
- Spring Boot bài 26: Integration test MVC, API, database và Security
Chương 12: Quan sát, migration và triển khai
- Spring Boot bài 27: Logging, Actuator và quản lý schema bằng Flyway
- Spring Boot bài 28: Đóng gói JAR, Docker và cấu hình triển khai
Phạm vi và hướng học tiếp
Bộ bài tập trung vào monolith MVC và API đồng bộ. Chưa bao gồm đăng ký/khôi phục tài khoản thật, thanh toán, video, OAuth2/OIDC, microservices hoặc vận hành quy mô lớn. Email và HTTP ngoài có test giả lập; SMTP thật cần tài khoản thử và cấu hình riêng. Ví dụ H2 không thay thế kiểm tra trên MySQL. Những giới hạn này giúp người học biết phần nào đã có và phần nào cần thiết kế thêm trước khi dùng cho hệ thống thật.
Bắt đầu với bài 01: tổng quan và lộ trình.

