× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Khóa học lập trình Backend Java Web

Thành thạo Backend Java Web sau 90h với giảng viên từ doanh nghiệp. Hỗ trợ việc làm

Thời lượng: 90h (4 tháng)

Thời gian học: 2 buổi/tuần

Số lượng học viên: 15-18

Đăng ký ngay

Vì sao nên học lập trình Backend Java Web

Top 1
Ngôn ngữ lập trình phổ biến

Ngôn ngữ phổ biến: Java liên tục đứng đầu trong top các ngôn ngữ lập trình phổ biến nhất với ứng dụng đa dạng

1000$
Thu nhập bình quân

Java vẫn là ngôn ngữ được trả lương cao hàng đầu với xấp xỉ 1000$/ tháng với nhiều cơ hội thăng tiến trong nghề nghiệp

57.000
Jobs tại Việt Nam

Theo thống kê, hiện đang có khoảng 57.000 Jobs dành cho lập trình viên Java tại thị trường Việt Nam

100%
Hướng đối tượng

Java là một trong số ít ngôn ngữ lập trình đạt tới gần 100% OOP. Java dễ sử dụng nếu bạn hiểu về OOPS

Bạn nhận được gì trong khóa học lập trình Backend Java Web tại T3H

Tham gia khóa học lập trình web bằng ngôn ngữ Java tại T3H, bạn sẽ đạt được:

Làm chủ kiến thức lập trình hướng đối tượng (OOP), cấu trúc câu lệnh trong ngôn ngữ lập trình Java. Nắm vững câu lệnh điều khiển, truy vấn tương tác cùng với CSDL.
Có khả năng phát triển các ứng dụng nghiệp vụ cho doanh nghiệp trên nền tảng: J2EE, Servlet, JSP. Nắm vững mô hình và kiến thức nền tảng Spring MVC để xây dựng cấu trúc web với java tại các doanh nghiệp.
Xây dựng được các phần mềm, ứng dụng website thông qua hệ thống quản trị bảo mật cao với giao diện thân thiện.
Nội dung đào tạo thiết kế chi tiết, bài bản theo chuẩn đầu ra Doanh nghiệp cho vị trí Intern/ Fresher. Học viên được training theo chuẩn Coding Convention và tự build được project sau quá trình đào tạo.
Được support CV xin việc và tips phỏng vấn ngay trong khoá đào tạo. Được cấp chứng nhận và hỗ trợ việc làm khi hoàn thành khóa học tại T3H.

Lộ trình

[ Phần 1: Java căn bản ]

Thời lượng: 4 buổi

- Giới thiệu về Java
- Các đặc trưng cơ bản của Java so với ngôn ngữ C++
- Cài đặt môi trường
- Giới thiệu môi trường chạy Java JVM JRE, môi trương phát triển Java JDK
- Giới thiệu IDE sử dụng trong chươn trình Itellij phiên bản Utimate
- Cài đặt biến môi trường và giải thích ý nghĩa (Compile chương trình)
- Chương trình Helloworld, các phím tắt thông dụng
- Chương trình In ra màn hình và nhập vào từ bản phím chuỗi và số
- Hướng dẫn sử dụng Git
- Cấu trúc chuẩn chương trình trong Java, câu lệnh khối lệnh, quy tắc đặt tên biến, hàm class trong Java
- Biến trong Java
- 8 kiểu dữ liệu nguyên thủy và ví dụ, ép kiểu trong java
- Toán tử (số học, bit, quan hệ và logic, ép kiểu, điều kiện, thứ tự ưu tiên) và biểu thức trong Java
- Cấu trúc điều khiển rẽ nhánh (if else, switch case)
- Cấu trúc điều khiển rẽ nhánh (if else, switch case) - Tiếp
- Cấu trúc lặp (for, while, do while)
- Hàm trong Java (hàm và hàm đệ quy)
- String trong Java (String pool, equals vs ==), StringBuilder, StringBuffer,
- Xử lý chuỗi trong Java
- Mảng 1 chiều và n chiều trong Java
- Xử lý mảng trong Java

[ Phần 2: Basic OOP ]

Thời lượng: 5 buổi

- Bài kiểm tra cuối module lập trình căn bản
- Giới thiệu về hướng đối tượng trong Java (tại sao tư duy hướng đối tượng lại cần thiết?)
- Cách viết 1 class trong Java (Khái niệm lớp và đối tượng)
- Các thành phần của 1 class (thuộc tính và phương thức), hàm getter setter
- Giải bài tập cộng trừ phân số
- Hàm khởi tạo mặc định, hàm khởi tạo nhiều tham số
- Con trỏ this
- Tính chất kế thừa trong Java (từ khóa extend)
- Overloading và override trong Java
- Phạm vi truy cập (private, default, protected, public) trong Java
- Pakage trong Java
- Từ khóa static trong Java (biến static, hàm static, class static)
- Inner class trong Java
- Abstract class trong Java (Phân biệt với class thường)
- Phương thức abstract trong Java
- Interface class trong Java (Phân biệt với abstract class)
- Tổng kết 4 tính chất đặc trưng của hướng đối tượng (đóng gói, kế thừa, trừu tượng, đa hình)
- Equal và Hashcode trong Java
- Collection và Map trong Java và ứng dụng
- Sắp xếp trong Java
- Stream API trong Java
- Xử lý Ngoại lệ (exception handling) trong Java (Checked và unchecked trong Java)
- Lớp bao kiểu dữ liệu nguyên thủy (wrapper class)
- (Generic, cách khai báo và sử dụng Thread thông thường trong Java nếu cần thiết)
- Lambda Expression & Functional Interface

[ Phần 3: Cơ sở dữ liệu căn bản ]

Thời lượng: 3 buổi

- Làm bài Test thực hành cuối Module OOP
- Cài đặt môi trường MySQL, giới thiệu về MySQL, làm quen với công cụ
- Giới thiệu dữ liệu, CSDL với hệ quản trị CSDL
- Các kiểu dữ liệu trong MySQL
- Hướng dẫn tạo TABLE, COLUME, cài đặt khóa chính, UNIQUE..
- Hướng dẫn câu lệnh INSERT, UPDATE, DELETE, DROP
- Hướng dẫn câu lệnh QUERY căn bản
- QUERY dữ liệu cần toán tử (><>=<=, LIKE, IN...)
- Giới thiệu LIMIT OFFSET, DISTINCT
- GROUP BY HAVING, ORDER BY
- Các hàm thông dụng trong SQL (sum, avg....)
- Khóa ngoại
- Các phép JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN)
- Sub Query
- Hướng dẫn sử dụng JDBC kết nối chương trình Java
- Hướng dẫn phân tích phần mềm từ yêu cầu
- Bài tập: Thiết kế hệ thống quản lý thư viện sử dụng console Java
- VIEW, FUNCTION, PROCEDURE trong SQL

[ Phần 4: SPRING WEB ]

Thời lượng: 5 buổi

- Spring framework là gì? Tại sao lựa chọn Spring? Thành phần, tính chất chính trong Spring
- Springboot là gì, vị trí Springboot trong hệ sinh thái Spring, vai trò của Springboot và tại sao cần học Springboot
- Tạo project Springboot bằng Intellij
- Giới thiệu các thành phần cấu trúc, các thành phần trong 1 project Springboot
- Giới thiệu công cụ quản lý thư viện maven
- Rest API là gì? Giao thức HTTP(Giới thiệu phương thức, header, Param, Body, HTTP Code)
- Postman là gì? Cách cài đặt và sử dụng công cụ Test API Postman?
- Hướng dẫn sử dụng 1 số phương thức đơn giản @RestController:
+ GET endpoint
+ POST endpoint
+ PUT endpoint
+ DELETE endpoint
- Giới thiệu Json, xử lý Json, (hoặc xml, xử lý xml)
- Bài tập : Xây dựng hệ thống quản lý thư viện buổi 14 bằng Rest API và JDBC
- Giải thích các thành phần của 1 RestController (Phân biệt @PathVariable, @RequestParam, @RequestBody, @Header)
- Consumer và producer (xử lý dữ liệu đầu vào và trả về Json hoặc XML)
- Hướng dẫn build dự án, vai trò Tomcat
- Giới thiệu mô hình MVC (vai trò các tầng, phân biệt giữa DTO và Entity, tại sao cần phải chia tầng như vậy?)
- Hướng dẫn tải trang bằng Springboot (sử dụng thymleaf)
- Giới thiệu cơ bản về ViewResolve Thymleaf (cách truyền dữ liệu từ controller xuống view, cú pháp căn bản thymleaf để lấy dữ liệu)
- Phân biệt @Controller với @RestController
- Bài tâp: Xây dựng chương trình quản lý thư viện ở trên bằng cách sử dụng giao diện HTML lấy dữ liệu ra màn hình
- Hướng dẫn sinh viên chọn đề tài (demo 1 số project các khóa trước đã làm, và gợi ý đề tài, gợi ý các chức năng), đưa danh sách đề tài tham khảo
- Giới thiệu thymleaf (tiếp) submmit form, sử dụng biến, vòng lặp, câu điều kiện, block, thymleaf link...
- Submit form đính kèm file
- Hướng dẫn validation form sử dụng Springboot
- Giải thích sự khác nhau giữa redirect, forward, rederview
- Bài tập: Tiếp tục bài quản lý thư viện áp dụng submitform cho các màn hình thêm sửa
- Giới thiệu Bootstrap
- Giới thiệu Jquery
- Sử dụng Javascript làm bài tập hiển thị ảnh khi upload
- Hướng dẫn validation sử dụng Jquery
- Hướng dẫn sử dụng ajax gọi API
- Hướng dẫn sử dụng fragment Thymleaf để quản lý header, footer, naigation...
Bài tập: Áp dụng cho bài tập quản lý thư viện
- Resource static trong Springboot
- Đa ngôn ngữ Springboot
- Giải thích sâu về cơ chế Spring
- Nguyên lý SOLID
- Annotation, Spring Annotations: @Autowired, @Component, @Service, @Repository, @Configuration, @Primary....
- Dependency inversion in Spring: A few more examples..., IOC Container, Application Context and Bean Factory

[ Phần 5: SPRING JPA ]

Thời lượng: 3 buổi

- Chấm điểm đồ án đợt 1 với các tiêu chí:
+ Chấm điểm danh sách các chức năng
+ Sơ đồ USER-CASE (các đối tượng tham gia hệ thống)
+ Hoàn thiên tối thiểu 30% màn hình có chức năng thêm sửa xóa, danh sách
- Giới thiệu ORM – Object Relational Mapping
- Giới thiệu JPA – Java Persistance API
- Giới thiệu Hibernate
- Giới thiệu Spring Data JPA
- Cách cấu hình dự án
- Cách tạo Entity, Repository trong SpringData JPA
- Sử dụng các hàm mặc định (save, findAll, getById....)
- Bài tập: Tiếp tục bài tập buổi trước với yêu cầu chuyển từ JDBC sang ORM
- Spring data JPA query method, query creation Property Expressions
- Sử dụng NameQuery
- Hướng dẫn custom Query và cách query các câu truy vấn phức tạp
- Hướng dẫn tìm kiếm phân trang
- Transaction trong SpingDataJPA
- Sử dụng query OneTomany, ManyToMany
- Đối chiếu từ SpringData JPA sang Hibernate
+ Các trạng thái object
+ Vòng đời các trạng thái
+ Session Factory với EntityManager

[ Phần 6: SPRING SECURITY ]

Thời lượng: 4 buổi

- Chấm điểm đồ án đợt 2 với các tiêu chí:
+ Hoàn thiên tối thiểu 70% màn hình có chức năng thêm sửa xóa, danh sách sử dụng ORM
- Giới thiệu Springsecurity (giải thích 2 vấn đề authentication và authore)
- Giải thích cơ chế filter trong Java servlet
- Hướng dẫn cấu hình formlogin sử dụng spring security
- Giải thích PasswordEncoder
- Giải thích UserDetailService
- SpringEmail
- Bài tập: Tạo mới User, xác thực user qua email
- Hướng dẫn lấy thông tin người dùng trên backend và thymleaf (ContextHolder)
- Giải thích cơ chế lưu thông tin user, phiên và cấu hình phiên, phân biệt SESSION với COOKIE
- Hướng dẫn phân quyền USER sử dụng config và anotation
- Bài tập: Phân quyền cho ứng dụng quản lý thư viện, chức năng quên mật khẩu và thay đổi mật khẩu
- Hướng dẫn tạo trang chủ sử dụng template (Trang public), cách sử dụng phân quyền khi thực hiện luồng đặt hàng, thanh toán...
- Hướng dẫn Handler trong trường hợp đăng nhập thành công hoặc lỗi
- @ControllerAdvise bắt các Exception khi request lỗi
- Bài tập: Tiếp tục cho chức năng trang chủ của phần mềm quản lý thư viện
- Spring Security API (giải thích sự khác nhau giữa cơ chế xác thực bằng session và token)
- Hướng dẫn cái đặt và các thành phần trong Spring JWT

[ Phần 7: SPRING SCHEDULE ]

Thời lượng: 1 buổi

- Hướng dẫn sử dụng anotaion @Schedule thực hiện các Job chạy ngầm
- Hướng dẫn báo cáo thống kê (giao diện biểu đồ và backend)
- Hướng dẫn xuất báo cáo sử dụng thư viện org.apache.poi
- Các nội dung websocket, cache, thread, log4j2...

[ Phần 8: UNIT TEST ]

Thời lượng: 1 buổi

- Unit test sử dụng JUnit (giới thiệu và hướng dẫn cấu hình, ví dụ hàm test)
- Cách viết Unittest cho các layer
+ Repository
+ Service
+ Controller

[ Phần 9: Software Development Life Cycle ]

Thời lượng: 3 buổi

- Giới thiệu về webserver (Apache, nginX)
- Giới thiệu containner (Tomcat)
- Vòng đời servlet
- Deploy hệ thống
- LoadBlancer
- Giới thiệu áp dụng Alige/Scrum vào dự án (Vai trò của từng thành viên ...)

Sản phẩm học viên

Feedback học viên

Lập trình Backend Java Web - Đăng ký ngay nhận ưu đãi 40% học phí

Khóa học lập trình Backend Java Web thành thạo sau 4 tháng với giảng viên từ doanh nghiệp. Chương trình chuyên sâu với Spring MVC. Hỗ trợ việc làm sau khóa học.

Đăng ký

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