KHÓA HỌC ĐÀO TẠO LẬP TRÌNH VIÊN BACK END – JAVA SPRING BOOT & AI

Chương trình đào tạo

KHÓA HỌC ĐÀO TẠO LẬP TRÌNH VIÊN BACK END – JAVA SPRING BOOT & AI

KHÓA HỌC ĐÀO TẠO LẬP TRÌNH VIÊN BACK END – JAVA SPRING BOOT & AI

10:37 26/09/2025
KHÓA HỌC ĐÀO TẠO LẬP TRÌNH VIÊN BACK END – JAVA SPRING BOOT & AI

Thời lượng: 120h

Mục tiêu:

Sau khi hoàn thành khoá học, học viên có đủ kiến thức kĩ năng để phân tích, thiết kế, triển khai dự án Backend hoàn chỉnh, đáp ứng nhu cầu công việc tại doanh nghiệp. Học viên được trang bị kiến thức và kỹ năng để tích hợp hiệu quả một số giải pháp AI vào dự án backend, tối ưu hóa hiệu suất và nâng cao chất lượng ứng dụng.

Đối tượng: Các bạn sinh viên, người đi làm có định hướng nghề nghiệp trở thành lập trình viên Backend sử dụng Java, Springboot, Spring AI. Không yêu cầu kiến thức đầu vào

Giáo trình:

Kiến thức đạt được:

Về kiến thức và kỹ năng kỹ thuật:

  • Nắm vững ngôn ngữ Java và lập trình hướng đối tượng
  • Thiết kế và phát triển RESTful API chuẩn công nghiệp với Spring Boot
  • Phân tích, thiết kế và tối ưu hóa cơ sở dữ liệu quan hệ
  • Làm việc thành thạo với Spring Security, Spring Data JPA, và các module quan trọng khác
  • Triển khai ứng dụng trong môi trường Docker
  • Viết unit test và integration test với JUnit và Mockito
  • Tạo tài liệu API tự động với Swagger/OpenAPI
  • Tích hợp các giải pháp AI vào backend thông qua Spring AI
  • Xây dựng ứng dụng với Large Language Models (LLMs), xử lý hình ảnh AI, và hệ thống RAG cơ bản

Về kỹ năng mềm:

  • Tư duy phân tích và giải quyết vấn đề
  • Làm việc theo quy trình Agile/Scrum
  • Sử dụng thành thạo Git cho version control
  • Làm việc nhóm hiệu quả
  • Kỹ năng prompt engineering để tận dụng tối đa AI tools

NỘI DUNG KHÓA HỌC

Module 0: Khởi động & Môi trường phát triển (2h)

Mục tiêu: Giúp học viên hiểu tổng quan về lộ trình học tập, cơ hội nghề nghiệp và chuẩn bị môi trường làm việc.

  • Giới thiệu tổng quan về khóa học
  • Giới thiệu về Backend Development và vai trò của Backend Developer
  • Lộ trình chi tiết để trở thành một Backend Developer cho người bắt đầu.
  • Tổng quan về các công nghệ sẽ học: Java, Spring Boot, Spring AI & Docker
  • Cơ hội việc làm và mức lương trong ngành.
  • Xu hướng công nghệ backend hiện đại: Microservices, Cloud, AI Intergration.
  • Cài đặt môi trường phát triển:
  • IDE: IntelliJ IDEA Community Edition / Visual Studio Code
  • JDK 17 hoặc cao hơn
  • Git và GitHub
  • Postman cho API testing
  • Docker Desktop
  • Jira cho quản lý dự án

Module 1: Nền tảng JAVA & Lập trình Hướng đối tượng (20h)

Mục tiêu: Xây dựng nền tảng vững chắc về ngôn ngữ Java và lập trình hướng đối tượng.

1.1 Kiến thức cơ bản về Java (8 giờ)

  • Giới thiệu về Java:
    • Lịch sử và sự phát triển của Java
    • Java ecosystem: JDK, JRE, JVM
    • Các phiên bản Java và tính năng mới
  • Cú pháp cơ bản:
    • Biến và hằng số
    • Các kiểu dữ liệu nguyên thủy và tham chiếu
    • Toán tử và biểu thức
  • Cấu trúc điều khiển:
    • Câu lệnh rẽ nhánh: if-else, switch-case
    • Vòng lặp: for, while, do-while
    • Break và continue
  • Làm việc với mảng:
    • Mảng một chiều và đa chiều
    • Các thao tác cơ bản với mảng
  • String và xử lý chuỗi:
    • String vs StringBuilder vs StringBuffer
    • Các phương thức xử lý chuỗi phổ biến

1.2 Lập trình hướng đối tượng (OOP) (8 giờ)

  • Khái niệm OOP và tầm quan trọng
  • Class và Object:
    • Định nghĩa class
    • Constructor và khởi tạo object
    • Từ khóa this và static
  • Tính đóng gói (Encapsulation):
    • Access modifiers: private, protected, public, default
    • Getter và Setter methods
  • Tính kế thừa (Inheritance):
    • Từ khóa extends
    • Method overriding
    • Từ khóa super
  • Tính đa hình (Polymorphism):
    • Compile-time polymorphism (method overloading)
    • Runtime polymorphism (method overriding)
  • Tính trừu tượng (Abstraction):
    • Abstract class
    • Interface và sự khác biệt với abstract class
    • Từ khóa implements

1.3 Kiến thức Java nâng cao (4 giờ)

  • Java Generics:
    • Generic classes và methods
    • Type parameters và wildcards
    • Lợi ích của Generics trong type safety
  • Collections Framework:
    • List: ArrayList, LinkedList
    • Set: HashSet, TreeSet
    • Map: HashMap, TreeMap
    • Queue và Deque
    • So sánh và lựa chọn collection phù hợp
  • Stream API:
    • Functional programming trong Java
    • Lambda expressions
    • Stream operations: filter, map, reduce
    • Collectors và xử lý dữ liệu
  • Exception Handling:
    • Try-catch-finally
    • Checked vs Unchecked exceptions
    • Tạo custom exceptions
    • Best practices trong xử lý ngoại lệ

Modul 2: Cơ sở dữ liệu (18h)

Mục tiêu:

- Tổng quan về CSDL và vai trò của CSDL trong hệ thống thông tin.

- Nắm vững kiến thức về cơ sở dữ liệu quan hệ, từ cơ bản đến nâng cao, và biết cách thiết kế database hiệu quả.

2.1 Kiến thức cơ bản (6 giờ)

  • Tổng quan về hệ quản trị cơ sở dữ liệu:
    • RDBMS (MySQL, PostgreSQL) vs NoSQL (MongoDB, Redis)
    • Khi nào nên dùng loại database nào?
  • Cài đặt và cấu hình MySQL/PostgreSQL
  • SQL cơ bản:
    • Data Definition Language (DDL):
      • CREATE TABLE với các constraint
      • ALTER TABLE: thêm/sửa/xóa cột
      • DROP TABLE
    • Data Manipulation Language (DML):
      • INSERT: thêm dữ liệu
      • UPDATE: cập nhật dữ liệu
      • DELETE: xóa dữ liệu
    • Data Query Language (DQL):
      • SELECT với các mệnh đề WHERE, ORDER BY, LIMIT
      • Filtering và sorting dữ liệu

2.2 SQL Nâng cao (8 giờ)

  • JOIN operations:
    • INNER JOIN
    • LEFT JOIN và RIGHT JOIN
    • FULL OUTER JOIN
    • CROSS JOIN
    • Self JOIN
  • Aggregate Functions:
    • COUNT, SUM, AVG, MIN, MAX
    • GROUP BY và HAVING
  • Subqueries:
    • Subquery trong WHERE clause
    • Subquery trong FROM clause
    • Correlated subquery
  • Views: tạo và sử dụng database views
  • Constraints nâng cao:
    • PRIMARY KEY và FOREIGN KEY
    • UNIQUE, NOT NULL, CHECK
    • ON DELETE CASCADE và ON UPDATE CASCADE
  • Indexes:
    • Cách hoạt động của index
    • Khi nào cần tạo index?
    • Trade-offs của index
  • Transactions:
    • ACID properties
    • BEGIN, COMMIT, ROLLBACK
    • Isolation levels
  • Stored Procedures và Functions
    • Tạo và sử dụng Stored Procedures
    • Functions: Scalar vs Table-valued
    • Parameters: IN, OUT, INOUT
    • Control flow: IF, CASE, LOOP
    • Error handling
    • Khi nào nên dùng Stored Procedures/ Functions?
  • Trigger
    • Khái niệm và mục đích của triggers
    • Các loại triggers: BEFORE, AFTER
    • Trigger events: INSERT, UPDATE, DELETE
    • OLD và NEW trong triggers
    • Sử dụng Trigger để ghi log

2.3. Thiết kế cơ sở dữ liệu quan hệ (4 giờ)

  • Sơ đồ quan hệ thực thể (ERD)
    • Thực thể, thuộc tính và mối quan hệ
    • Mối quan hệ: 1-1, 1-n, n-n
    • Vẽ ERD với công cụ (draw.io, dbdiagram.io,..)
  • Chuẩn hóa cơ sở dữ liệu

 

Module 3: Spring Boot (40h)

Mục tiêu: Làm chủ Spring Boot framework để xây dựng các ứng dụng backend production-ready.

3.1 Spring Boot Foundation (10 giờ)

  • Giới thiệu Spring Framework:
    • Lịch sử và ecosystem của Spring
    • Spring vs Spring Boot: tại sao Spring Boot ra đời?
    • Ưu điểm của Spring Boot
  • Core concepts:
    • Inversion of Control (IoC)
    • Dependency Injection (DI)
    • Spring Beans và Bean lifecycle
    • Application Context
  • Maven/Gradle:
    • Dependency management
    • Project structure chuẩn
    • Cách thêm dependencies
    • Build và package application
  • Tạo dự án Spring Boot:
    • Sử dụng Spring Initializr
    • Cấu trúc project chuẩn
  • REST Controllers:
    • @RestController, @RequestMapping
    • HTTP methods: @GetMapping, @PostMapping, @PutMapping, @DeleteMapping
    • Request parameters: @PathVariable, @RequestParam, @RequestBody
    • Response Entity và HTTP status codes

3.2 Spring Data JPA & Hibernate (8 giờ)

  • Giới thiệu ORM:
    • Object-Relational Mapping concepts
    • JPA (Java Persistence API) specification
    • Hibernate implementation
  • Entity mapping:
    • @Entity, @Table, @Column
    • @Id, @GeneratedValue
    • Data types mapping
  • Relationships:
    • @OneToOne relationship
    • @OneToMany và @ManyToOne
    • @ManyToMany relationship
    • Cascade types và Fetch types (LAZY vs EAGER)
  • Repository pattern:
    • JpaRepository interface
    • Naming conventions cho query methods
    • Tùy chỉnh truy vấn với @Query
    • Native queries
  • Common issues:
    • Vấn đề truy vấn N+1 và cách giải quyết
    • LazyInitializationException
    • Optimistic vs Pessimistic locking

3.3 RESTful API Best Practices (8 giờ)

  • REST principles:
    • Stateless architecture
    • Resource-based URLs
    • HTTP methods và ý nghĩa
  • HTTP Status Codes:
    • 2xx: Success (200, 201, 204)
    • 4xx: Client errors (400, 401, 403, 404)
    • 5xx: Server errors (500, 503)
  • Request/Response handling:
    • Content negotiation
    • Request validation
    • Response formatting
  • DTO Pattern:
    • Entity vs DTO: tại sao cần tách biệt?
    • ModelMapper / MapStruct
    • Request DTO và Response DTO
  • Validation:
    • Bean Validation (JSR-303)
    • @Valid, @NotNull, @NotEmpty, @Size, @Email, etc.
    • Custom validators
    • Validation groups
  • Exception Handling:
    • @ControllerAdvice và @ExceptionHandler
    • Global exception handler
    • Custom exception classes
    • Standardized error responses
  • Pagination & Sorting:
    • Pageable interface
    • Sort parameters
    • Custom pagination responses
  • API Versioning:
    • URI versioning
    • Header versioning

3.4 Spring Security (8 giờ)

  • Security fundamentals:
    • Authentication vs Authorization
    • Security threats: SQL Injection, XSS, CSRF
  • Basic Authentication:
    • HTTP Basic Auth
    • In-memory authentication
    • Database authentication với UserDetailsService
  • Form-based Authentication:
    • Login page customization
    • Logout handling
    • Remember me functionality
  • JWT Authentication:
    • JWT structure (Header, Payload, Signature)
    • Token generation và validation
    • Implementing JWT filter
    • Refresh token strategy
  • Password Management:
    • Password encoding với BCrypt
    • Password policies
    • Password reset flow
  • Authorization:
    • Role-Based Access Control (RBAC)
    • Method-level security: @PreAuthorize, @Secured
    • Securing endpoints
  • CORS configuration

3.5 Advanced Topics (6 giờ)

  • Logging:
    • Logging frameworks: SLF4J, Logback
    • Log levels: TRACE, DEBUG, INFO, WARN, ERROR
    • Logging configuration
    • Structured logging
    • Log aggregation (giới thiệu ELK stack)
  • File Handling:
    • File upload với MultipartFile
    • File storage strategies (local, cloud)
    • Image processing basics
  • API Documentation:
    • Swagger/SpringDoc OpenAPI 3.0
    • Annotations: @Operation, @ApiResponse, @Schema
    • Customizing Swagger UI
    • API documentation best practices
  • Testing:
    • Unit Testing với JUnit 5
    • Mocking với Mockito
    • Integration Testing với @SpringBootTest
    • Testing REST APIs với MockMvc
    • Test coverage và thực hành.

Module 4: Triển khai trong môi trường Docker (10h)

Mục tiêu: Hiểu về containerization và triển khai Spring Boot application với Docker.

4.1 Docker cơ bản (4 giờ)

  • Giới thiệu về containerization:
    • Virtual Machines vs Containers
    • Lợi ích của containers
    • Docker architecture: Client, Daemon, Registry
  • Các khái niệm trong Docker:
    • Images: build once, run anywhere
    • Containers: isolated runtime environments
    • Dockerfile: định nghĩa image
    • Docker Registry: Docker Hub
  • Dockerfile:
    • Cấu trúc cơ bản
    • Cách lệnh: FROM, COPY, RUN, CMD, ENTRYPOINT, EXPOSE, ENV
  • Viết Dockerfile cho Spring Boot

4.2 Docker Commands & Compose (3 giờ)

  • Docker CLI essentials:
    • docker pull: Lệnh để tải một image từ Docker Registry về máy tính.
    • docker build: Lệnh để tạo một image từ Dockerfile.
    • docker run: chạy container
    • docker ps: Lệnh để hiển thị danh sách các container đang chạy.
    • docker logs: xem logs
    • docker exec: Lệnh để thực thi một lệnh trong một container đang chạy.
    • docker stop, docker start, docker restart
    • docker rm, docker rmi: cleanup
  • Docker Volumes:
    • Persist data giữa các container runs
    • Volume types: named volumes, bind mounts
    • Data backup và restore
  • Docker Networks:
    • Docker Networks là gì?
    • Các loại Container Network: Bridge, host, none,..
    • Giao tiếp giữa các container.
  • Docker Compose:
    • Cấu trúc docker-compose.yml
    • Services, networks, volumes
    • Environment variables
    • Orchestrating multi-container apps

Lab: Deploy Spring Boot + MySQL + Redis stack với Docker Compose.

4.3 Production Deployment (3 giờ)

Module 5: Project thực tế (30h)

  • Giới thiệu

+ Học viên làm việc với dự án thực tế tại trung tâm phần mềm BKSOFT của BKACAD, áp dụng toàn bộ kiến thức đã được học để phát triển hệ thống backend hoàn chỉnh và thực hành tích hợp các công nghệ AI vào hệ thống backend.

  • Nội dung:

           Phân tích yêu cầu và thiết kế kiến trúc hệ thống backend hoàn chỉnh.

           Phát triển REST API với Spring Boot.

           Làm việc theo quy trình Agile/Scrum với Git và Jira.

           Triển khai ứng dụng trong môi trường Docker.

           Viết tài liệu API với Swagger.

           Ứng dụng các công cụ AI (Github Copilot, ChatGPT, Claude, Cursor, v3.chat...) vào toàn bộ quy trình phát triển dự án.

           Kỹ năng prompt engineering hiệu quả để có output chất lượng. Phân loại các prompt (Zero shot, few shot, chain of thought), công thức prompt tối ưu.

          Biết cách chọn và sử dụng đúng AI tool cho từng task cụ thể.

          Tích hợp Spring AI trong dự án: Sử dụng Large Language Model (LLMs), tạo sinh hình ảnh bằng Spring AI và Open AI, Spring AI Text to Speech và xây dựng ứng dụng RAG cơ bản kết hợp với Spring AI.

 

Đăng ký tư vấn lộ trình học lập trình Backend và tìm hiểu chính sách hỗ trợ học phí tại đây: Đăng ký

Khóa học khác

Thông tin về Khóa học Làm chủ hệ thống mạng doanh nghiệp nhỏ và gia đình tại Học viện CNTT Bách Khoa (BKACAD)

Khóa học cung cấp đầy đủ kiến thức từ cơ bản đến nâng cao - Học viên hoàn toàn có thể chủ động thiết kế slide tùy chọn