RobustX / Chương trình học / Chuyên đề / Phát triển phần mềm / Lập trình Backend với Java Spring Boot

Lập trình Backend với Java Spring Boot 

Trong thế giới phát triển phần mềm doanh nghiệp, Java và Spring Framework từ lâu đã là tiêu chuẩn vàng để xây dựng các hệ thống backend vững chắc, có khả năng mở rộng và bảo mật cao. Spring Boot ra đời như một cuộc cách mạng, kế thừa toàn bộ sức mạnh của Spring nhưng lại mang đến triết lý “Convention over Configuration”, giúp các lập trình viên nhanh chóng xây dựng các ứng dụng production-ready mà không cần cấu hình phức tạp. Khóa học này được thiết kế để đưa bạn vào vị trí trung tâm của hệ sinh thái backend Java hiện đại.

Chương trình sẽ trang bị cho bạn một nền tảng toàn diện, bắt đầu từ việc hiểu sâu các khái niệm cốt lõi đã làm nên sức mạnh của Spring như Inversion of Control (IoC)Dependency Injection (DI). Bạn sẽ học cách xây dựng các RESTful API hoàn chỉnh, có cấu trúc rõ ràng để phục vụ cho các ứng dụng frontend hoặc di động. Khóa học sẽ hướng dẫn bạn cách tương tác với cơ sở dữ liệu một cách thanh lịch và hiệu quả thông qua Spring Data JPAHibernate, cũng như triển khai các lớp bảo mật chuyên nghiệp bằng Spring Security.

Thời lượng: 42h

Hình thức đào tạo:

    • Đào tạo trực tiếp tại lớp học
    • Đào tạo trực tuyến
    • Đào tạo hybrid (trực tuyến kết hợp trực tiếp)
    • Đào tạo tại văn phòng khách hàng

KẾT QUẢ ĐẠT ĐƯỢC:

  1. LÀM CHỦ KIẾN TRÚC SPRING VÀ SPRING BOOT
    Hiểu sâu về triết lý, các thành phần cốt lõi (IoC, Bean) và cách Spring Boot hoạt động.
  2. XÂY DỰNG RESTFUL API TOÀN DIỆN
    Thành thạo thiết kế và triển khai các API theo chuẩn REST, xử lý các phương thức HTTP.
  3. THÀNH THẠO TRUY CẬP DỮ LIỆU VỚI SPRING DATA JPA
    Ánh xạ các đối tượng Java với bảng, định nghĩa quan hệ, và thực hiện truy vấn hiệu quả.
  4. TRIỂN KHAI BẢO MẬT VỚI SPRING SECURITY
    Nắm vững cách cấu hình và triển khai các cơ chế xác thực, phân quyền để bảo vệ ứng dụng.
  5. NẮM VỮNG QUY TRÌNH KIỂM THỬ VÀ TRIỂN KHAI
    Viết các bài kiểm thử (unit & integration) và đóng gói ứng dụng bằng Docker để triển khai.

Đối tượng tham gia

Nội dung khóa học

 1. Giới thiệu Spring Boot
    • So sánh Spring Framework và Spring Boot:
      • Hiểu rõ vai trò và triết lý “Convention over Configuration” giúp đơn giản hóa việc phát triển ứng dụng Java.
    • Khởi tạo dự án:
      • Hướng dẫn sử dụng Spring Initializr để khởi tạo một dự án mới với các dependency cần thiết.
    • Cấu trúc dự án:
      • Tìm hiểu cấu trúc của một dự án Spring Boot và vai trò của các file cấu hình như application.properties.
    • Chạy ứng dụng đầu tiên:
      • Thực hành chạy ứng dụng Spring Boot đầu tiên và tìm hiểu về server Tomcat được nhúng sẵn.
 2. Kiến trúc IoC và Quản lý Bean
    • Các khái niệm cốt lõi:
      • Tìm hiểu sâu về các khái niệm Inversion of Control (IoC) và Dependency Injection (DI).
    • Stereotype Annotations:
      • Nắm vững cách sử dụng các annotation @Component, @Service, @Repository, và @Controller để định nghĩa các Spring Bean.
    • Dependency Injection:
      • Thực hành sử dụng @Autowired và Constructor Injection để liên kết các thành phần trong ứng dụng.
 3. Xây dựng REST Controller
    • Tạo API:
      • Học cách tạo API với @RestController và các annotation ánh xạ request như @GetMapping, @PostMapping.
    • Xử lý tham số:
      • Tìm hiểu cách xử lý các tham số từ URL thông qua @PathVariable và @RequestParam.
    • Làm việc với Request Body:
      • Hướng dẫn cách làm việc với request body (@RequestBody) và các đối tượng truyền dữ liệu (DTOs).
 4. Tầng Dịch vụ và Truy cập Dữ liệu (Spring Data JPA)
    • Cấu hình kết nối cơ sở dữ liệu (sử dụng H2 in-memory hoặc MySQL/PostgreSQL).
    • Định nghĩa các Entity với các annotation của JPA (@Entity, @Id, @Table).
    • Tạo các Repository interface bằng cách kế thừa JpaRepository.
    • Thực hiện các thao tác CRUD mà không cần viết mã SQL.
 5. Quan hệ và Truy vấn Nâng cao
    • Cấu hình Database:
      • Hướng dẫn cấu hình kết nối tới cơ sở dữ liệu (sử dụng H2 in-memory hoặc MySQL/PostgreSQL).
    • Định nghĩa Entity:
      • Học cách định nghĩa các Entity với các annotation của JPA như @Entity, @Id, @Table.
    • Tạo Repository:
      • Tìm hiểu cách tạo các Repository interface bằng cách kế thừa JpaRepository để thực hiện các thao tác CRUD.
 6. Xử lý Lỗi và Validation
    • Xây dựng hệ thống xử lý ngoại lệ tập trung với @ControllerAdvice@ExceptionHandler.
    • Bean Validation: Sử dụng các annotation (@NotNull, @Size, @Email…) trên các DTO.
    • Kích hoạt validation tự động trong Controller với annotation @Valid.
7. Spring Security Cơ bản
    • Cấu hình Spring Security:
      • Hướng dẫn cài đặt và cấu hình Spring Security, tìm hiểu về kiến trúc Filter Chain.
    • Xác thực người dùng:
      • Thực hành xây dựng một luồng xác thực hoàn chỉnh bằng username và password.
    • Phân quyền và JWT:
      • Học cách bảo vệ các endpoints dựa trên vai trò (Role-based) và tích hợp JSON Web Tokens (JWT) để bảo mật API.
8. Kiểm thử và Triển khai
    • Viết Unit Test:
      • Hướng dẫn viết Unit Test cho tầng Service bằng cách sử dụng JUnit và Mockito.
    • Viết Integration Test:
      • Hướng dẫn viết Integration Test cho tầng Controller với MockMvc để kiểm tra toàn bộ luồng request.
    • Cấu hình môi trường:
      • Học cách cấu hình các profile khác nhau cho các môi trường development và production.
    • Dockerize ứng dụng:
      • Hướng dẫn viết Dockerfile để đóng gói một ứng dụng Spring Boot và sẵn sàng để triển khai.
9. Đồ án cuối khóa
    • Mục tiêu: Vận dụng toàn bộ kiến thức để xây dựng một RESTful API hoàn chỉnh, bảo mật, được kiểm thử và sẵn sàng để triển khai.
    • Quy trình thực hiện:
      • Thiết kế: Lựa chọn đề tài (ví dụ: API cho một hệ thống quản lý thư viện, blog, hoặc một trang thương mại điện tử nhỏ), thiết kế cơ sở dữ liệu và các API endpoints.
      • Xây dựng: Triển khai đầy đủ các tầng Controller, Service, Repository; định nghĩa các Entity và mối quan hệ.
      • Bảo mật: Tích hợp Spring Security với JWT để xây dựng các tính năng đăng ký, đăng nhập và bảo vệ các API.
      • Hoàn thiện: Áp dụng validation cho dữ liệu đầu vào và xây dựng cơ chế xử lý lỗi toàn cục.
      • Kiểm thử và Triển khai: Viết các bài test quan trọng, đóng gói ứng dụng bằng Docker và triển khai lên một nền tảng cloud.
    • Yêu cầu đầu ra: Một API server hoạt động được triển khai online, mã nguồn được quản lý chuyên nghiệp trên GitHub, một bộ sưu tập Postman để kiểm thử tất cả các endpoint, và file README.md mô tả dự án.

LỊCH KHAI GIẢNG

(Đang cập nhật)

Bài viết liên quan