Spring Boot - Web Back End
Tư vấn viên: Đức Thịnh Email: thinh@techmaster.vn Số điện thoại: 0987273764

Spring Boot là một module của Spring Framework giúp giảm tải các cấu hình cho phép xây dựng nhanh chóng một ứng dụng độc lập. Spring Boot cung cấp sẵn các Embedded HTTP servers (Tomcat, Jetty, …), các plugins để phát triển và test một cách dễ dàng.

Khóa học sẽ giúp học viên tiếp cận với Spring Boot, nắm vững các kiến thức cần thiết để xây dựng được các ứng dụng web theo mô hình MVC. Học viên được hướng dẫn thực hành nhiều project mẫu trong khóa học.

Tham khảo một link trang web tĩnh demo: https://cody0203.github.io/normal-obo-stadium/

YÊU CẦU

Chú ý: Đây cũng là học phần quan trọng nhất trong Lộ trình Web Full-stack với Spring Boot cho người mới bắt đầu

Giáo trình
0. Javascript cơ bản (1)
  • Giới thiệu về Javascript
  • Viết chương trình Javascript đầu tiên
  • Biến trong Javascript
  • #Lab 1 : Đâu là biến hợp lệ
  • Kiểu dữ liệu String
  • Template strings – ES6
  • Kiểu dữ liệu Number
  • Function
  • Các loại function thường gặp
  • Phạm vi của biến (scope)
  • Câu lệnh điều kiện
  • #Lab 2 : Bài tập if/else
  • Switch - case
  • #Lab3 : Switch - case
  • Vòng lặp for
  • Câu lệnh break & continue
  • Demo vòng lặp bằng ví dụ thực tế
  • #Lab 4 : Vòng lặp
  • Vòng lặp while
  • Vòng lặp Do-while
1. Javascript cơ bản (2)
  • Giới thiệu về Array
  • Truy cập các phần tử của mảng
  • Duyệt mảng
  • #Lab 1 : Array (1)
  • #Lab 2 : Array (2)
  • Giới thiệu về Object
  • Một số phương thức của Object
  • Loop in Object
  • Value type và Reference Type
  • # Thực hành : Product
  • # Thực hành : Grade
3. DOM cơ bản (2)
  • Events
  •  Xử lý sự kiện481
  • # Thực hành : Xử lý sự kiện
  • Mouse event
  • # Thực hành : Mouse event
  • Keyboard event
  • # Thực hành : Keyboard event
  • # Thực hành : Chức năng ẩn hiện mật khẩu
  • # Thực hành : Counter
4. Dependency Injection
  • Lý thuyết
  • Lab: Class Loader
  • Lab: Dependency Injection
  • Lab: các cách khác nhau để DI
  • Lab: Lazy Prototype
5. REST CRUD
  • Lab: Tạo Book REST Get và Post
  • Lab: Tạo Book REST GET by ID, PUT, DELETE
  • Bài tập tại lớp
  • Lý thuyết: phân biệt @RestController và @Controller, @ResponseBody
  • Lý thuyết: Dùng record hay Lombok?
6. Javascript kết nối API
  • Phân biệt lập trình đồng bộ và bất đồng bộ
  • Callback function
  • Promise
  • Async Await Function
  • # Thực hành với Dog API (1)
  • # Thực hành với Dog API (2)
  • # Thực hành với Dog API (3)
  • # Thực hành Province API
7. Javascript kết nối ứng dụng Spring Boot
  • Lab 1 : Random color
  • Lab 2 : Tính chỉ số BMI
  • Lab 3 : Tính chỉ số BMI (nâng cao)
  • Lab 1 : Chức năng đăng nhập
8. TodoList App
  • Backend : Danh sách API
  • Front end
  • Đề bài : Kiểm tra SpringBoot REST API + ReactJS (1)
  • Download template todo
  • Hiển thị danh sách công việc
  • Thêm công việc
  • Xóa công việc
  • Thay đổi trạng thái công việc
  • Lọc công việc theo trạng thái
  • Cập nhật tiêu đề công việc
9. Kiểm tra SpringBoot - Javascript
  • Đề bài
10. Ứng dụng quản lý user
  • Upload file (BE)
  • Xem file (BE)
  • Thay đổi avatar (BE)
  • Lấy danh sách file của user (BE)
  • Xóa file (BE)
11. Thực hành Thymeleaf (1)
  • Thực hành Thymeleaf
12. Thực hành Thymeleaf (2)
  • Thực hành : Tách Fragment
13. Kiểm tra SpringBoot - Thymeleaf
  • Đề bài
14. SpringBoot REST API
  • Quản lý user
15. Hướng dẫn sử dụng Bootstrap (1)
  • Cài đặt
  • Layout
  • Components
  • Utilities
  • Lab: Làm giao diện trang Blog
  • Lab: Làm giao diện theo mẫu
16. Hướng dẫn sử dụng Bootstrap (2)
  • Làm giao diện trang blog
17. Spring Data JPA (tiếp)
  • Named Query- B1
  • Named Query- B2
  • Transaction - B1
  • Transaction - B2
  • Transaction - B3
  • Paging & Sorting- B1
  • Paging & Sorting- B2
18. Ứng dụng Blog (1)
  • Các chức năng có trong ứng dụng
  • Thiết kế hệ thống bảng
  • File POM
  • Định nghĩa các Entity
  • Tạo Repo
  • Tạo dữ liệu mẫu cho ứng dụng
  • # Thực hành : Query dữ liệu
19. Ứng dụng Blog (2)
  • Giao diện Template
  • # Thực hành : Tách giao diện user ra các Fragments
  • #Lab 3 : Quản lý User (ADMIN)
  • #Lab 1 : Quản lý Blog (ADMIN)
  • #Lab 2 : Quản lý Category (ADMIN)
20. Ứng dụng Blog (3)
  • # Thực hành : Tách giao diện admin ra các Fragments
  • #Lab1 : Thêm JWT cho ứng dụng blog
  • #Lab2 : Phân quyền trong ứng dụng
  • Tạo blog
  • Cập nhật thông tin blog
  • Xóa blog
21. Ứng dụng Blog (4)
  • # Thực hành
22. Spring Security (1)
  • Tìm hiểu về Spring Security- B1
  • Tìm hiểu về Spring Security- B2
  • Tìm hiểu về Spring Security- B3
  • Tìm hiểu về Spring Security- B4
  • Tìm hiểu về Spring Security- B5
  • CORS & CSRF- B1
  • CORS & CSRF- B2
23. Spring Security (2)
  • Basic Authentication- B1
  • Basic Authentication- B2
  • Basic Authentication- B3
  • Basic Authentication- B4
24. Spring Security (3)
  • Session-based Authentication- B1
  • Session-based Authentication- B2
  • Session-based Authentication- B3
  • Session-based Authentication- B4
25. Tạo template HTML với engine Thymeleaf (tiếp)
  • Đối tượng định nghĩa sẵn- B1
  • Đối tượng định nghĩa sẵn- B2
  • Đối tượng định nghĩa sẵn- B3
  • Fragment- B1
  • Fragment- B2
  • Fragment- B3
  • Layout - B1
  • Layout - B2
26. Thymeleaf buổi 2
  • Lý thuyết: Đa ngôn ngữ, bản địa hoá, quốc tế hoá
  • Lab: Đa ngôn ngữ
  • Lab: Lấy locale hiện tại để truy vấn đúng dữ liệu
  • Lab: Upload file
  • Lab: cấu hình một thư mục bất kỳ để phục vụ file tĩnh
  • Lab: Gửi email
27. Spring Security (4)
  • Token-based Authentication- B1
  • Token-based Authentication- B2
  • Token-based Authentication- B3
  • Token-based Authentication- B4
  • Token-based Authentication- B5
28. Ứng dụng quản lý user
  • Danh sách chức năng
  • Cấu trúc chương trình
  • Danh sách API user (part 1)
  • Tìm kiếm user (BE)
  • Xóa user (BE)
  • Exception
  • Web Config : CORS
  • Lấy danh sách user (FE)
  • Tìm kiếm user (FE)
  • Xóa user (FE)
29. Ứng dụng quản lý user
  • Download template front end
  • Tạo user (BE)
  • API lấy danh sách đơn vị hành chính
  • Tạo user (FE)
  • Lấy thông tin của user (BE)
  • Cập nhật thông tin user (BE)
  • Đổi mật khẩu (BE)
  • Quên mật khẩu (BE)
  • Hiển thị thông tin user (FE)
  • Cập nhật thông tin user (FE)
  • Đổi mật khẩu (FE)
  • Quên mật khẩu (FE)
  • Spring Mail (1)
  • Spring Mail (2)
30. Spring Data JPA
31. Hướng dẫn lập trình Job Hunt
  • Phần 1: Tạo project, cấu trúc dự án
  • Phần 2
  • Phần 3
  • Phần 4
  • Phần 5
  • Phần 6: Viết Unit Test
  • Phần 7: Tích hợp BootStrap
  • Phần 8: Bổ xung validation
  • Phần 9: Lưu employer vào in memory database và lưu logo vào ổ cứng
  • Phần 10: Delete employer
  • Phần 11: Tạo Job model và repository
32. Tạo Restful API
33. Unit test
  • Giới thiệu về JUnit5- B1
  • Giới thiệu về JUnit5- B2
  • Giới thiệu về JUnit5- B3
  • Giới thiệu về Mockito- B1
  • Giới thiệu về Mockito- B2
  • Giới thiệu về Mockito- B3
  • Giới thiệu về Mockito- B4
  • Giới thiệu về Mockito- B5
  • @SpringBootTest, @TestConfiguration và @MockBean- B1
  • @SpringBootTest, @TestConfiguration và @MockBean- B2
  • @SpringBootTest, @TestConfiguration và @MockBean- B3
  • @WebMvcTest- B1
  • @WebMvcTest- B2
  • @DataJpaTest
34. Hoàn thiện đồ án
  • Hoàn thiện bài tập cuối khóa- B1
  • Hoàn thiện bài tập cuối khóa- B2
35. Hoàn thiện đồ án (2)
  • Hoàn thiện đồ án (2)
36. Hoàn thiện đồ án (2)
  • Đề kiểm tra
37. Hoàn thiện đồ án (3)
  • Lập trình Web
  • Tóm tắt Spring Boot
  • Lab: Tạo dự án Spring Boot
  • Chú ý: khắc phục lỗi khi cài đặt VSCode, Spring Boot
  • Lab: Trả về dữ liệu JSON và XML
  • Lab: Phân biệt @PathVariable, @RequestParam, @RequestBody
Giảng viên
Ngô Thế Việt
Ngô Thế Việt
- Trưởng nhóm phát triển ứng dụng tại Viettel Global
- Trên 7 năm kinh nghiệm lập trình java
- Giảng dạy các lớp Spring Boot tại Techmaster Vietnam
Trần Văn Thịnh
Trần Văn Thịnh
Lập trình viên Full Stack Spring Boot + React tại liên doanh CMC -IBMM Giảng viên Spring Boot
Bùi Hiên
Bùi Hiên

- Lập trình viên Fullstack tại Techmaster Việt Nam

- Giảng viên các khóa lập trình ngắn hạn, dài hạn của Techmaster

Trịnh Minh Cường
Trịnh Minh Cường
Giảng viên Java Spring Boot, FE, Golang, AWS tại Techmaster