- Được tạo ra bằng cách sao chép và dán nên nó vẫn "chạy được".
- Bị cứng họng trước câu hỏi "JPA là gì?".
- Không thể giải thích tại sao lại viết mã như vậy.
[Lv1] Spring Boot có thể giải thích trong phỏng vấn - Phát triển Backend trả lời bằng kinh nghiệm
Đây là khóa học nhập môn phát triển Backend, nơi bạn học bằng sự thấu hiểu thay vì học thuộc lòng, bằng trải nghiệm thực tế thay vì lý thuyết suông. Thay vì trả lời câu hỏi phỏng vấn "JPA là gì?" bằng cách học thuộc lòng định nghĩa tra được trên Google, đây là khóa học giúp bạn có thể đưa ra câu trả lời từ chính trải nghiệm của mình, bắt đầu bằng: "Tôi đã từng nếm trải 'địa ngục' JdbcTemplate...". Bạn sẽ trực tiếp trải nghiệm quá trình rút gọn từ 30 dòng mã ServerSocket thuần Java xuống còn 7 dòng với Spring Boot, từ đó thấu hiểu sâu sắc lý do "tại sao chúng ta lại sử dụng framework". Sau 6 buổi học, bạn sẽ nắm trong tay một sản phẩm thực tế để đưa vào portfolio: Todo List REST API được xây dựng bằng Spring Boot + JPA.
342 học viên
Độ khó Cơ bản
Thời gian Không giới hạn


Đánh giá từ những học viên đầu tiên
5.0
5.0
창근
Đây là khóa học mà tôi đã tham gia một cách khá "cưỡng ép" (?) do công ty đột ngột chuyển sang dùng Spring, nhưng kết quả là nếu không học thì đúng là một sai lầm lớn. Tôi không hẳn là người mới bắt đầu hoàn toàn với Backend, vì đã có kinh nghiệm sử dụng NestJS trước đó nên tôi từng lo lắng không biết Spring có quá nặng nề hay gò bó không. Thế nhưng, nỗi lo đó đã tan biến ngay từ bài giảng đầu tiên. Luồng kiến thức từ triết lý của Spring đến cấu trúc và lý do tại sao nó được thiết kế như vậy quá mượt mà, khiến tôi không biết bao nhiêu lần phải thốt lên "À, hóa ra đây là lý do Spring được sử dụng". Khóa học không chỉ liệt kê cú pháp đơn thuần mà còn rèn luyện tư duy thực tế và nền tảng cơ bản một cách bài bản, nên với một người từng dùng Nest như tôi, việc vừa học vừa so sánh giúp hiểu vấn đề cực kỳ nhanh. Tôi có thể tự tin khẳng định rằng, không chỉ những người mới bắt đầu với Spring, mà cả những người đã có kinh nghiệm với các framework khác nhưng chưa từng học Spring một cách bài bản như tôi, nỗi sợ mơ hồ về Spring sẽ hoàn toàn biến mất sau khóa học này. Thật sự khó có thể tìm được một khóa học nào tốt hơn thế này để củng cố nền tảng vững chắc.
5.0
김민구
Rất phù hợp cho những người mới bắt đầu với Spring Boot, những người vừa học Java, hoặc những người đã học từ lâu rồi. Và thầy Dingcodingco giảng dạy rất hay nên nghe vào rất dễ hiểu
5.0
다온
Tôi đã học được khái niệm này một cách rất thú vị thông qua các ví dụ. Tôi cũng đã được học về những phần mình từng hiểu sai và những phần chưa biết một cách đầy hứng thú.
Bạn sẽ nhận được điều này sau khi học.
Kỹ năng trả lời bằng "kinh nghiệm" trong phỏng vấn Backend
Năng lực phát triển thực chiến Spring Boot + JPA
Trải nghiệm học tập để thấu hiểu "Tại sao (Why)"
Khả năng đọc hiểu code thực tế
Tech stack mà 95% tin tuyển dụng lập trình viên Backend mới yêu cầu
Gõ theo thì sẽ chạy được.
Nhưng người phỏng vấn sẽ hỏi ‘tại sao’.
Những dự án được tạo ra bằng cách sao chép-dán sẽ sụp đổ trong các buổi phỏng vấn. Với phương pháp học tập "Khổ trước → Sướng sau" — trải nghiệm nỗi đau của Java thuần túy trước khi nhận ra sự vĩ đại của Spring Boot — bạn sẽ trở thành một nhà phát triển có khả năng giải thích rõ các nguyên lý.
Hầu hết các bài giảng chỉ dạy 'làm thế nào'.
"JPA thì chỉ cần dùng save() là được", "Transaction thì chỉ cần gắn @Transactional vào là xong." Làm theo thì nó chạy đấy. Nhưng người phỏng vấn sẽ hỏi là "Tại sao lại dùng nó?".
"Chỉ dừng lại ở việc gọi save()".
Họ không thể trả lời được tại sao lại dùng JPA, tại sao lại dùng kiến trúc 3 lớp.
Vì chưa từng làm thử mà không có JPA nên không biết trân trọng nó.
Nếu bạn gõ theo thì nó sẽ chạy được. Nhưng bạn sẽ gục ngã trong buổi phỏng vấn.
Nếu chỉ xem YouTube và gõ theo thì vẫn có thể tạo ra được portfolio. Hãy cùng xem một kịch bản bị loại thường thấy nhé.
Phải trực tiếp trải nghiệm thì mới thấy được sự vĩ đại.
Không nên học từ những thứ tiện lợi trước. Bạn phải trải nghiệm sự bất tiện trước đã. Sau khi nếm trải nỗi đau của 30 dòng mã Java thuần túy rồi mới nhìn thấy 7 dòng của Spring Boot — bạn sẽ thốt lên: "À, hóa ra đây là lý do tại sao mình phải dùng nó".
Tôi đã tự tay nhập trực tiếp phản hồi HTTP dưới dạng chuỗi ký tự.
Sau nỗi đau đó, bạn sẽ cảm nhận được sự vĩ đại của 7 dòng Spring Boot.
Tôi đã tự tay viết 50 dòng SQL + RowMapper.
Tôi hiểu sâu sắc tại sao chỉ một dòng JPA save() lại là một cuộc cách mạng.
"Tại sao đối tượng mà tôi không tạo ra lại hoạt động nhỉ?"
Proxy, DI và Spring Bean giúp bạn hiểu rõ bản chất của phép màu này.
Một mình Controller gánh vác tất cả mọi việc.
Giải thích lý do tại sao phân tách 3 lớp lại tạo nên một cấu trúc gọn gàng.
Khái niệm Backend, nghe một lần là không thể nào quên.
3 tầng·Transaction·Proxy·DI·Repository·Kiểm chứng ngoại lệ — Không dùng code mà dùng hình ảnh ẩn dụ về nhà hàng để giúp bạn nắm bắt trọn vẹn "Cái gì và Tại sao" chỉ trong một ánh nhìn.
"Tại sao lại chia thành Controller·Service·Repository?"
Nhân viên, quản lý và thủ kho, trả lời rằng các vai trò được phân chia như vậy.
"Tại sao cần có Transaction?"
Giải thích bằng việc ví dụ như set burger, hoặc là được tất cả hoặc là không được gì cả.
"@Transactional hoạt động như thế nào vậy?"
Giải thích rằng người quản lý (proxy) sẽ thay mặt xử lý.
"@Autowired được tiêm (inject) như thế nào vậy?"
Kho phụ tùng Trả lời rằng nó sẽ được lấy ra và giao đến giống như việc giao hàng vậy.
"Không có phần triển khai (implementation) thì làm sao nó chạy được nhỉ?"
SimpleJpaRepository (đầu bếp) sẽ tạo thay cho chúng ta.
"Xử lý ngoại lệ và kiểm chứng ở đâu?"
Người gác cổng (xác thực) và Quản lý (ngoại lệ toàn cục) sẽ được dùng để giải thích.
Cùng một dự án, nhưng câu trả lời phỏng vấn lại khác nhau.
- Tôi đã trực tiếp trải qua địa ngục của 50 dòng SQL.
- "Tôi đã thử làm bằng JdbcTemplate rồi..." bắt đầu như thế.
- Giải thích JPA, Transaction, và DI cho đến tận chữ ‘tại sao’.
Khóa học này là điểm bắt đầu, Lv.1.
Không chỉ dừng lại ở một khóa học. Chúng tôi sẽ đồng hành cùng bạn từ khi bắt đầu cho đến khi thực chiến thông qua lộ trình từng bước một.
Trước khi bắt đầu với Spring, hãy củng cố các kiến thức cơ bản.
Tạo API bằng Spring và chuẩn bị cho phỏng vấn.
Từ bối cảnh thực thể (persistence context) cho đến các mô hình thực tế.
Nếu đã trang bị được những vũ khí thực chiến, giờ là lúc tạo sự khác biệt bằng sơ yếu lý lịch để vượt qua vòng hồ sơ.
Bạn đã bao giờ gặp tình huống như thế này chưa?
Bạn đã bao giờ cứng họng trước câu hỏi "JPA là gì?" chưa?
Bạn đã bao giờ lúng túng vì không thể giải thích được dự án mà mình đã làm bằng cách sao chép và dán chưa?
6 chương 42 bài giảng · Từ cơ bản về web đến dự án thực tế.
Cơ bản về Web → Máy chủ web đầu tiên (Khổ cực → Cứu rỗi) → DB·JPA → Proxy·DI → 3 tầng·Transaction → Dự án thực tế. Nhấn vào từng phần để xem mục lục chi tiết.
섹션 1. 🌐 1교시 · 웹의 기초, 서버와 대화하는 법웹·HTTP·JSON
- 1🎯 OT: Sau 6 tiết học, tôi có thể làm được gì?
- 2🌐 Sự khác biệt giữa Internet và Web: KakaoTalk và YouTube
- 3🍽️ Client và Server: Thực khách và Nhà hàng
- 4📨 HTTP: Ngôn ngữ chung mà cả thế giới sử dụng
- 5📦 JSON: Chiếc bát tiêu chuẩn để chứa dữ liệu
섹션 2. 🚀 2교시 · 첫 웹 서버, 순수 자바의 고통 → 구원고통→구원
- 6🚀 Trải nghiệm nỗi đau kinh khủng của Java thuần túy (30 dòng)
- 7🌱 Tạo dự án Spring Boot: Nhanh như nấu mì trong 3 giây
- 8🎯 Hello World API: Hoàn thành server chỉ với 7 dòng
- 9📤 Phản hồi JSON: Đối tượng Java biến hình thành JSON
- 10🎯 Nhận yêu cầu động bằng biến đường dẫn (Path Variable)
섹션 3. 💾 3교시 · DB, JdbcTemplate 지옥 → JPA 한 줄DB·JPA
- 11💾 Lưu trữ bộ nhớ: Hạn chế chết người của HashMap
- 12🗄️ Khái niệm DB: Lắp đặt tủ lạnh lưu trữ vĩnh viễn
- 13😭 JdbcTemplate: Trải nghiệm địa ngục chuỗi SQL
- 14✨ JPA: Kết thúc chỉ với một dòng save() mà không cần SQL
- 15🎮 Repository: Bảng điều khiển hoạt động mà không cần viết mã
섹션 4. 🎭 4교시 · 마법의 정체, 프록시·DI·스프링 빈프록시·DI
- 16🎭 Proxy là gì
- 17🏭 Proxy tự động: Nhà máy sản xuất hàng loạt quản lý
- 18📦 ApplicationContext và Spring Bean
- 19🚀 Tiêm phụ thuộc (DI): Baemin
- 20👨🍳 Đầu bếp đằng sau ki-ốt: SimpleJpaRepository
섹션 5. 🏗️ 5교시 · 3계층 아키텍처와 트랜잭션3계층·트랜잭션
- 21🏗️ 3 tầng: Phân chia vai trò Nhân viên-Quản lý-Tủ lạnh
- 22💡 Phiền phức thế sao phải chia ra? Lý do của việc phân tách tầng
- 23🛡️ Transaction: Đưa tất cả hoặc không có gì cả
- 24✅ @Transactional: Phép màu của một tấm nhãn
- 25🕵️ Nguyên lý hoạt động của @Transactional
섹션 6. 🎓 6교시 · 실전, 예외·검증·프로젝트 완성실전 CRUD
- 26🚨 Xử lý ngoại lệ: Chuyển 500 thành 404·400
- 27🛡️ Ngoại lệ toàn cục: Quản lý nhà hàng
- 28👮 Kiểm chứng: Người gác cổng bảo vệ lối vào + @Valid
- 29📄 Phân trang: Cấm findAll(), an toàn ngay cả với 1 triệu bản ghi
- 30🚀 Dự án thực tế: Hoàn thành CRUD User-Todo
Nếu bạn đã gõ theo nhưng không thể giải thích được.
Người phù hợp nhất
Những người biết về if·for trong Java nhưng vẫn còn thấy mơ hồ về việc tạo "server"
Những người đã làm theo hướng dẫn trên YouTube nhưng không thể giải thích được khi phỏng vấn
Những người không hiểu nguyên lý của dự án được tạo ra bằng cách sao chép và dán (copy-paste)
Những người muốn vừa chuẩn bị phỏng vấn vừa thực hành cùng một lúc
Những người cần điều chỉnh mức độ kỳ vọng
- Người đã đi làm và đang sử dụng thành thạo Spring trong thực tế chuyên môn
- Những người lần đầu tiên nhìn thấy cú pháp Java (if·for)
- Những người chỉ muốn đi sâu vào nội bộ JPA và tinh chỉnh hiệu năng (nội dung đó thuộc Lv.2)
Nhập môn — Chỉ cần có kiến thức cơ bản về Java là có thể bắt đầu.
Đã từng sử dụng các câu lệnh Java if, for (chưa biết Spring Boot cũng không sao).
Kinh nghiệm từng xử lý MySQL CRUD ít nhất một lần.
IntelliJ Community (miễn phí) là đủ — không quan trọng Windows hay Mac, có hướng dẫn cài đặt cho từng OS.
Sau khi kết thúc khóa học, bạn sẽ đạt được bốn điều này.
Bạn có thể tự mình tạo API server bằng Spring Boot và giải thích được nguyên lý hoạt động của nó.
Trải qua nỗi khổ của JdbcTemplate và giải thích tại sao một dòng save() của JPA lại là một cuộc cách mạng.
Hiểu "tại sao mã lại hoạt động" thông qua Proxy, DI và Spring Bean.
Hoàn thiện CRUD thực chiến với 3 tầng (3-tier), transaction, ngoại lệ và kiểm chứng.
Trực tiếp bởi nhà phát triển đang làm việc thực tế, người từng tham gia phỏng vấn vòng cuối tại Coupang và Yanolja.
Giảng viên là nhà phát triển 6 năm kinh nghiệm, từng vào đến vòng phỏng vấn cuối cùng của Coupang và Yanolja, đồng thời sở hữu câu chuyện nhảy việc qua 24 công ty, sẽ trực tiếp giảng dạy.
Cựu nhà phát triển server tại Viva Republica (Toss) — giải thích lý do "tại sao" dưới góc nhìn đã được kiểm chứng qua thực tế.
"Không chỉ dừng lại ở việc chỉ dạy cách làm (how-to), bài giảng này kết nối từ khái niệm → trải nghiệm trực tiếp → đến cả câu trả lời phỏng vấn."
Tôi vận hành cộng đồng chinh phục việc làm cho nhà phát triển (KakaoTalk, Discord) và hỗ trợ học viên cho đến cuối cùng.
Nếu bạn để lại đánh giá khóa học, chúng tôi sẽ gửi tặng bộ 18 câu hỏi phỏng vấn Spring Boot.
Các câu hỏi cốt lõi và câu trả lời mẫu có thể áp dụng ngay trong buổi phỏng vấn — Đây là bộ câu hỏi trên Notion để bạn có thể trực tiếp luyện tập.
Chỉ mở và xem những phần bạn thắc mắc.
Spring Boot를 하나도 몰라도 되나요?
Vâng. Bạn chỉ cần biết cơ bản về câu lệnh if và vòng lặp for trong Java là được. Không cần biết về Spring Boot cũng không sao. Tôi sẽ giải thích từng bước mọi khái niệm, bắt đầu từ việc "Tại sao chúng ta phải học cái này".
따라하기 강의랑 뭐가 다른가요?
Khóa học này cố tình khiến bạn phải trải qua khó khăn. Chỉ sau khi tự tay viết 30 dòng mã máy chủ web bằng Java thuần túy và nếm trải địa ngục của 50 dòng SQL với JdbcTemplate, bạn mới thực sự cảm nhận được sự vĩ đại của 7 dòng Spring Boot và một dòng JPA save(). Trải nghiệm này sẽ giúp bạn có thể trả lời phỏng vấn bắt đầu bằng câu: "Tôi đã từng trực tiếp trải nghiệm việc đó...".
실습 환경은 어떻게 되나요?
Sử dụng IntelliJ. Phiên bản Community (miễn phí) là đủ và có thể sử dụng trên cả Windows lẫn Mac. Chúng tôi cung cấp đầy đủ phương pháp cài đặt cho từng hệ điều hành, đồng thời chia sẻ tài liệu học tập (Notion·PDF) và mã nguồn dự án.
이 강의만 들으면 백엔드 개발자가 되나요?
Khóa học này là Lv.1 (Nhập môn) trong lộ trình phát triển Backend. Lộ trình tiếp nối từ Lv.0 Cơ bản về DB → Lv.1 Nhập môn Spring Boot (khóa học này) → Lv.2 Chinh phục hoàn toàn JPA → Lv.3 Triển khai → Lv.5~6 Kiến trúc · Thực chiến.
Đừng chỉ gõ theo, hãy trực tiếp trải nghiệm và giải thích nó.
Nếu chỉ học ‘làm thế nào’, bạn sẽ bị tắc nghẽn trước câu hỏi "tại sao?" khi phỏng vấn. Phải trải qua nỗi đau của 30 dòng mã Java thuần túy thì mới thấy được sự vĩ đại của 7 dòng mã Spring Boot. Chính trải nghiệm này sẽ tạo nên câu trả lời bắt đầu bằng: "Tôi đã trực tiếp trải nghiệm điều đó và..."
Khuyến nghị cho
những người này
Khóa học này dành cho ai?
Những người đã biết cơ bản về Java (if, for, class) nhưng vẫn thấy việc xây dựng 'server' bằng những kiến thức này thật mơ hồ.
Những bạn làm theo YouTube thì code chạy được, nhưng đến lúc phỏng vấn lại không giải thích được.
Ứng viên mới lo sợ trước yêu cầu "Ưu tiên người có kinh nghiệm Spring Boot, JPA" trong thông báo tuyển dụng
Những người đã đọc sách Spring Boot nhưng chưa thể áp dụng vào thực tế
Những người đã hoàn thành bootcamp lập trình nhưng chỉ biết "làm thế nào" mà không biết "tại sao"
Cần biết trước khi bắt đầu?
Trình độ cú pháp Java cơ bản (Chỉ cần bạn đã học qua khoảng một khóa học nhập môn Java là đủ)
Kiến thức về cơ sở dữ liệu (Cung cấp tài liệu học tập miễn phí khi tham gia sự kiện đánh giá khóa học!)
Xin chào
Đây là dingcodingco
Xác minh Inflearn
Xác minh sự nghiệp
18,797
Học viên
1,918
Đánh giá
355
Trả lời
4.9
Xếp hạng
26
Các khóa học
Nhận mã giảm giá 15% cho bài giảng của Dingco Dingco
🚀 Từng làm việc tại Toss, tốt nghiệp POSTECH | Nhà phát triển Backend hiện tại (+9 năm)
🎥 YouTuber 20.000 sub | Sáng tạo nội dung lập trình
📚 Giảng viên Inflearn | Tổng số học viên 18.000+
👥 Đang vận hành cộng đồng tuyển dụng lập trình viên (8.000+)
🧩 Contributor cho nhiều dự án mã nguồn mở (Gradle, Spring AI, v.v.)
📝 Kinh nghiệm vượt qua 38 vòng hồ sơ và hơn 100 lần chỉnh sửa CV trên Kmong (Đánh giá 5.0 sao)
Truyền tải những thông tin thực tế sống động từ ngành công nghiệp một cách dễ hiểu và có tính diễn dịch.
Chương trình giảng dạy
Tất cả
42 bài giảng ∙ (9giờ 58phút)
Đánh giá
Tất cả
59 đánh giá
5.0
59 đánh giá
lich11158962Đánh giá 2
∙
Đánh giá trung bình 5.0
5
33% đã tham giaĐây là khóa học mà tôi đã tham gia một cách khá "cưỡng ép" (?) do công ty đột ngột chuyển sang dùng Spring, nhưng kết quả là nếu không học thì đúng là một sai lầm lớn. Tôi không hẳn là người mới bắt đầu hoàn toàn với Backend, vì đã có kinh nghiệm sử dụng NestJS trước đó nên tôi từng lo lắng không biết Spring có quá nặng nề hay gò bó không. Thế nhưng, nỗi lo đó đã tan biến ngay từ bài giảng đầu tiên. Luồng kiến thức từ triết lý của Spring đến cấu trúc và lý do tại sao nó được thiết kế như vậy quá mượt mà, khiến tôi không biết bao nhiêu lần phải thốt lên "À, hóa ra đây là lý do Spring được sử dụng". Khóa học không chỉ liệt kê cú pháp đơn thuần mà còn rèn luyện tư duy thực tế và nền tảng cơ bản một cách bài bản, nên với một người từng dùng Nest như tôi, việc vừa học vừa so sánh giúp hiểu vấn đề cực kỳ nhanh. Tôi có thể tự tin khẳng định rằng, không chỉ những người mới bắt đầu với Spring, mà cả những người đã có kinh nghiệm với các framework khác nhưng chưa từng học Spring một cách bài bản như tôi, nỗi sợ mơ hồ về Spring sẽ hoàn toàn biến mất sau khóa học này. Thật sự khó có thể tìm được một khóa học nào tốt hơn thế này để củng cố nền tảng vững chắc.
- dingcodingcoGiảng viên
Tôi rất vui khi bạn nói rằng dù đã có kinh nghiệm với Nest nhưng triết lý thiết kế của Spring vẫn được kết nối một cách tự nhiên. Việc bạn có thể hiểu thông qua việc so sánh giữa các framework chính là phản hồi mà tôi mong đợi nhất khi tạo ra bài giảng này, tôi rất cảm kích vì điều đó.
minjirj1693Đánh giá 1
∙
Đánh giá trung bình 5.0
5
100% đã tham giaTôi đã học được khái niệm này một cách rất thú vị thông qua các ví dụ. Tôi cũng đã được học về những phần mình từng hiểu sai và những phần chưa biết một cách đầy hứng thú.
- dingcodingcoGiảng viên
Tôi rất vui vì bạn đã nắm bắt các khái niệm một cách thú vị thông qua các ví dụ. Tôi cảm thấy rất xứng đáng khi tạo ra bài giảng này khi biết rằng nó đã giúp bạn đính chính lại những phần còn hiểu sai. Cảm ơn bạn đã tham gia khóa học.
kmk8422Đánh giá 2
∙
Đánh giá trung bình 5.0
5
39% đã tham giaRất phù hợp cho những người mới bắt đầu với Spring Boot, những người vừa học Java, hoặc những người đã học từ lâu rồi. Và thầy Dingcodingco giảng dạy rất hay nên nghe vào rất dễ hiểu
- dingcodingcoGiảng viên
Thật vui khi nghe bạn nói rằng những nội dung này rất dễ hiểu và đi vào lòng người. Tôi sẽ tiếp tục chú trọng để ngay cả những người mới bắt đầu cũng có thể theo kịp một cách tự nhiên, xin cảm ơn bạn!
domybestĐánh giá 5
∙
Đánh giá trung bình 4.8
5
100% đã tham giaThật tuyệt vời khi có thể tìm hiểu chi tiết về Proxy và DI.
- dingcodingcoGiảng viên
Proxy và DI là những khái niệm cốt lõi thường xuyên xuất hiện trong các buổi phỏng vấn, cảm ơn bạn đã kiên trì hoàn thành đến cùng và nắm vững chúng một cách sâu sắc.
- sasas
Đánh giá 103
∙
Đánh giá trung bình 5.0
5
31% đã tham gia- dingcodingcoGiảng viên
Cảm ơn bạn đã để lại đánh giá quý giá! Hy vọng bài giảng này sẽ giúp ích cho việc học tập và công việc của bạn trong tương lai.
Khóa học khác của dingcodingco
Hãy khám phá các khóa học khác của giảng viên!
Khóa học tương tự
Khám phá các khóa học khác trong cùng lĩnh vực!








