
Nguyên lý cốt lõi của Spring - Phiên bản cơ bản
yh
Người mới học Spring sẽ hiểu nguyên lý cốt lõi và nắm vững kiến thức cơ bản của Spring khi tự làm các ví dụ.
Cơ bản
Spring, oop
Bạn có thể hiểu từ cơ bản đến hoàn thiện tất cả các công nghệ web cần thiết cho việc phát triển ứng dụng web. Trong phần 2 của MVC, bạn có thể học tất cả các kỹ thuật ứng dụng cần thiết cho phát triển web thực tế dựa trên các nguyên lý và cấu trúc cốt lõi của phần 1.

Đánh giá từ những học viên đầu tiên
5.0
Dokkabei97
Tôi chưa kịp thở thì bài giảng đã đến và tôi đọc xong ngay. Trước khi MVC 2 ra mắt Trưởng nhóm, trước tiên tôi phải củng cố lộ trình của JPA và đang làm việc trên Spring Data JPA. Tôi đã sử dụng mybatis và học JPA, vì vậy tôi đã nghĩ, ôi, Shinsegae. Trùng hợp là bài giảng MVC 2 ra nên mình chỉ xem phần đầu một lát, xong lộ trình JPA, phải nghe lại bài giảng Mv 2, nhưng Time Leap vui quá nên mình nghe mãi haha. Tôi háo hức chờ đợi bài giảng sắp tới đến mức muốn bắt cóc trưởng nhóm, trói anh ta dưới tầng hầm và bắt anh ta chỉ quay phim bài giảng.
5.0
먼길
Cuối cùng tôi đã hoàn thành khóa học. Tôi nghĩ lần đầu tiên tôi bắt đầu khóa học này là vào đầu tháng 11 năm ngoái. Lúc đó tôi có nghe nói đến việc quốc tế hóa thông điệp nhưng nó không gây ấn tượng tốt với tôi và không thể hiểu được nên tôi đã bỏ cuộc. Và tôi lang thang khắp YouTube, thử nhiều thứ có vẻ thú vị, nghiên cứu những kiến thức cơ bản về Java (tôi cần làm nhiều hơn) và SQL (tôi cần làm nhiều hơn) và đi loanh quanh theo vòng tròn. Và kể từ tháng trước, tôi đã xem lại nó với tốc độ đều đặn từ phần giới thiệu đến mùa xuân cho đến đầu bộ truyện cho đến tận bây giờ. Điều đáng ngạc nhiên là tôi có thể hiểu rõ nội dung lớp học mà không gặp bất kỳ khó khăn nào. Tuy nhiên, dù hiểu rất rõ nhưng tôi không biết có nên coi là lạ không khi tôi không có nhiều câu hỏi hơn nội dung buổi học. Có rất nhiều câu hỏi phái sinh được đặt ra, nhưng vì tôi không phải là một trong số đó nên có vẻ như vẫn còn một chặng đường dài phía trước. Dù sao thì tôi cũng rất hài lòng vì chỉ cần theo dõi và hiểu rõ nội dung lớp học. Khi lần đầu tiên nhìn thấy bài giảng của Younghan mà trước đó tôi chưa biết gì, tôi đã nghĩ, tại sao anh ấy lại dạy như thế này? Những gì tôi làm bây giờ đã quen thuộc và dễ hiểu, đồng thời tôi nhận ra rõ ràng rằng đó thực sự là một phong cách tốt hơn. Điều tương tự cũng xảy ra với MVC phần 2 này. Giờ đây, những cuốn sách về những con suối từng trông đáng sợ trong các hiệu sách giờ đây có thể trông thân thiện. Ai cũng biết môn học này là để củng cố nền tảng và cội rễ, nhưng tôi cũng xấu hổ và tự hào vì mình, với tư cách là một học viên, đang tham gia vào cuộc hành trình của một kiệt tác xứng đáng với danh hiệu chinh phục trọn vẹn. Tôi mất một lúc để lấy lại hơi thở và tự hỏi khi nào tôi sẽ xem và theo dõi tất cả những điều này trong quá khứ, nhưng trước khi tôi kịp nhận ra thì chỉ còn lại một bài giảng gần đây. Tôi định theo dõi bài giảng cuối cùng còn lại khi rảnh rỗi và sau đó bắt đầu lại từ đầu, điều này rất thiết thực. Khi viết bài này, tôi viết về hành trình mà tôi đã trải qua thay vì ôn lại lớp học. Chúc các bạn cùng học may mắn!
5.0
hanul_kr
Chỉ cần đọc lộ trình của Kang thôi là tim tôi đã tràn ngập niềm vui rồi… Một bài giảng dạy cho bạn chính xác những gì bạn muốn học Một bài giảng cho phép bạn tự đọc tài liệu tham khảo Ngay cả một bài giảng vui vẻ Mọi người đang làm gì mà không nghe máy vậy?! Đừng lo lắng, chỉ cần trả tiền Thời gian khó mua được bằng tiền! Nhưng bài giảng của Younghan Kim đã làm được điều đó!
Công nghệ web Java backend
Công nghệ Spring Web
Spring MVC
Phải hiểu rõ nguyên lý mới thấy được cốt lõi!
Phần ứng dụng Spring MVC của Kim Young-han 👨💻
📌 Vui lòng kiểm tra trước khi học!
Hầu hết các ứng dụng hiện đại đều là ứng dụng web hoạt động trong môi trường web. Khi phát triển các ứng dụng web này, hầu hết các nhà phát triển Java backend đều sử dụng Spring MVC. Spring MVC là khung làm việc (framework) web phổ biến nhất, giúp phát triển các ứng dụng web phức tạp một cách dễ dàng và nhanh chóng.
Công nghệ web Java Backend rất rộng lớn và có khối lượng kiến thức cần học rất nhiều. Đặc biệt, Spring MVC cung cấp nhiều tính năng và có cấu trúc phức tạp. Để học tốt các công nghệ web này, trước tiên bạn cần hiểu rõ các nguyên lý và cấu trúc cốt lõi của Spring MVC, sau đó dựa trên nền tảng đó để chinh phục từng kỹ thuật ứng dụng web rộng lớn.
Vui lòng xác nhận xem bạn đã hiểu các nguyên lý và cấu trúc cốt lõi của Spring MVC cần thiết cho phát triển web thông qua bài giảng trước <Spring MVC Phần 1> hay chưa.
1. Từ sự khởi đầu của công nghệ Java Web cho đến các kỹ thuật thực tế mới nhất
2. Trực tiếp phát triển MVC Framework bằng mã nguồn
Cho đến nay, chúng ta đã học về các kỹ thuật nền tảng của Java Backend và Spring MVC. Trong bài giảng này, chúng ta sẽ học về các kỹ thuật ứng dụng thực tế thiết yếu dựa trên những nền tảng đã học.
Trong phần 2 của Spring MVC, dựa trên nền tảng Spring MVC đã học ở phần 1, bạn có thể hoàn toàn chinh phục các kỹ thuật ứng dụng web đồ sộ thông qua các ví dụ thực tế như View Template, Message, Quốc tế hóa, Validation, Cookie, Session, Filter, Interceptor, Xử lý ngoại lệ, Type Converter và Upload file, vốn là những kiến thức cực kỳ cần thiết trong thực tế.
Dựa trên các nguyên lý và cấu trúc cốt lõi của Spring MVC, tôi sẽ giúp bạn hoàn thiện các kỹ thuật ứng dụng web rộng lớn thông qua mã ví dụ thực tế, đồng thời giúp bạn phát triển thành một nhà phát triển web backend chuyên sâu hơn.
Spring MVC dành cho nhà phát triển
mới tiếp cận lần đầu
Nhân viên phát triển Backend
Sinh viên đang chuẩn bị xin việc
Nhà phát triển đang làm việc muốn hiểu sâu về
Spring MVC
Nhà phát triển muốn tạo ứng dụng web
bằng Spring
Thymeleaf là một template engine phía máy chủ (Server-Side View) dành cho các nhà phát triển backend. Bằng cách sử dụng Thymeleaf, các nhà phát triển backend có thể tạo ra các trang HTML động một cách dễ dàng và nhanh chóng mà không cần đến sự hỗ trợ của các nhà phát triển frontend riêng biệt.
Trong khóa học này, chúng ta sẽ học mọi thứ từ các chức năng cơ bản của Thymeleaf đến việc tích hợp với Spring, cũng như các chức năng quản lý form phức tạp như checkbox, radio button và select box thông qua việc thực hành các ví dụ.
Khi ứng dụng web ngày càng lớn và phức tạp, chúng ta cần quản lý các thông điệp (message) khác nhau một cách nhất quán tại một nơi duy nhất. Ví dụ, nếu muốn đổi từ "Tên sản phẩm" (상품명) thành "Tên của sản phẩm" (상품 이름), bạn sẽ phải chỉnh sửa mã nguồn của rất nhiều tệp tin. Bằng cách sử dụng tính năng Message mà Spring cung cấp, bạn có thể quản lý và sửa đổi những điều này cùng một lúc.
Quốc tế hóa là tính năng hiển thị trang web bằng tiếng Anh cho người dùng sử dụng tiếng Anh và hiển thị bằng tiếng Hàn cho người dùng sử dụng tiếng Hàn. Spring đã cung cấp sẵn tính năng quốc tế hóa này. Trong bài giảng, chúng ta sẽ học từng bước về chức năng thông báo và quốc tế hóa mà Spring cung cấp thông qua các ví dụ thực tế.
Khi khách hàng nhập sai giá trị vào biểu mẫu đăng ký thành viên và gửi lên máy chủ, máy chủ phải kiểm tra giá trị đó, hiển thị lại biểu mẫu cho khách hàng và hướng dẫn tận tình xem phần nào đã bị nhập sai. Phương thức này là một tính năng thiết yếu cho mọi dịch vụ web.
Trong bài giảng này, trước tiên chúng ta sẽ tự mình phát triển các tính năng kiểm tra dữ liệu (validation) này. Sau đó, chúng ta sẽ sử dụng các tính năng kiểm tra dữ liệu do Spring cung cấp, và xa hơn nữa là học từng bước thông qua các ví dụ về tính năng Bean Validation, giúp thực hiện việc kiểm tra dữ liệu một cách cực kỳ tiện lợi chỉ với một Annotation.
HTTP là một giao thức không trạng thái (stateless). Do đó, để duy trì tính năng đăng nhập, cần có các khái niệm như Cookie và Session. Trong bài giảng, trước tiên chúng ta sẽ thử tạo tính năng đăng nhập chỉ bằng Cookie. Sau khi xác nhận xem có những vấn đề bảo mật nào, chúng ta sẽ tự tay tạo và áp dụng Session.
Thông qua quá trình tự mình tạo ra session như thế này, bạn có thể hiểu sâu hơn về cách thức hoạt động của cookie và session. Sau đó, chúng ta sẽ tìm hiểu thêm và áp dụng session do Servlet cung cấp.
Thông qua các ví dụ, chúng ta sẽ tìm hiểu về Bộ lọc (Filter) do Servlet cung cấp và Bộ chặn (Interceptor) do Spring cung cấp.
Đầu tiên, chúng ta sẽ tạo chức năng ghi log cho tất cả các yêu cầu HTTP đơn giản nhất bằng Filter và Interceptor, sau đó sẽ tạo chức năng xử lý xác thực cũng bằng Filter và Interceptor. Bằng cách sử dụng cả hai cùng lúc như thế này, bạn có thể hiểu rõ ưu và nhược điểm của từng loại.
Khi học về ứng dụng web, phần khó hiểu nhất chính là xử lý ngoại lệ (Exception Handling). Đó là bởi vì Servlet Container (WAS) và Spring MVC mỗi bên đều cung cấp phương pháp xử lý ngoại lệ riêng. Và trên thực tế, cơ chế xử lý ngoại lệ hoạt động một cách phức tạp do sự kết hợp của cả hai. Vì vậy, rất khó để các nhà phát triển hiểu chính xác và sử dụng cách thức hoạt động bên trong của Spring và Servlet Container khi có ngoại lệ xảy ra tại Controller.
Trong bài giảng, tôi sẽ giải thích từng bước một, từ xử lý ngoại lệ của Servlet Container cho đến xử lý ngoại lệ của Spring MVC. Vì vậy, sau khi nghe bài giảng, bạn có thể hiểu rõ cách thức hoạt động bên trong máy chủ khi có ngoại lệ thực tế xảy ra và cần phải thay đổi ở điểm nào. Ngoài ra, tôi cũng sẽ giải thích cả cách xử lý ngoại lệ khi sử dụng API.
Trong quá trình phát triển ứng dụng, có rất nhiều trường hợp cần phải chuyển đổi kiểu dữ liệu, chẳng hạn như chuyển đổi từ chuỗi sang số hoặc ngược lại từ số sang chuỗi. Ví dụ, ngay cả khi chuỗi "10" được truyền đến từ yêu cầu HTTP, Spring vẫn có thể nhận nó dưới dạng số 10 kiểu Integer thông qua @RequestParam. Spring cung cấp tính năng gọi là Type Converter để hỗ trợ chuyển đổi kiểu dữ liệu một cách nhất quán.
Bộ chuyển đổi kiểu dữ liệu (Type Converter) là nội dung được đề cập rất nhiều khi học Spring, nhưng không dễ để hiểu sâu về cách thức hoạt động thực tế của nó. Thông qua bài giảng này, bạn có thể hiểu từng bước từ cơ bản đến ứng dụng của bộ chuyển đổi kiểu dữ liệu thông qua các ví dụ.
Trên internet có rất nhiều ví dụ về việc tải tệp lên (file upload). Trong bài giảng này, không chỉ dừng lại ở việc giải thích các tính năng tải tệp lên, chúng tôi sẽ giải thích chuyên sâu về các giao thức được sử dụng để tải tệp và nguyên lý giúp việc tải tệp có thể thực hiện được trên HTTP. Sau đó, chúng ta sẽ học từng bước thông qua các ví dụ, bắt đầu từ tính năng tải tệp lên bằng Servlet cho đến phương thức tải tệp tiện lợi mà Spring cung cấp.
Khóa học Spring MVC được chia làm 2 phần.
Khóa học này là Spring MVC Phần 2 -
Kỹ thuật vận dụng phát triển Web Backend.
Củng cố các khái niệm cốt lõi của công nghệ web Java và Spring MVC, đồng thời tìm hiểu các chức năng cơ bản của Spring MVC.
Phần 1 trước tiên sẽ giới thiệu về công nghệ web backend Java, sau đó tìm hiểu toàn bộ các công nghệ web từ Servlet, JSP, mô hình MVC cho đến MVC Framework. Sau khi đã hiểu rõ bối cảnh của công nghệ web, chúng ta sẽ củng cố vững chắc các khái niệm cốt lõi của Spring MVC. Tiếp theo, chúng ta sẽ học các chức năng cơ bản của Spring MVC và phát triển một trang web có khả năng thực hiện các thao tác CRUD cơ bản bằng cách sử dụng Spring MVC.
Học các kỹ thuật sử dụng đa dạng của Spring MVC.
Phần 2 sẽ học về Thymeleaf, Message, Quốc tế hóa (Internationalization), Kiểm chứng (Validation), Cookie, Session, Filter, Interceptor, Xử lý ngoại lệ và các tính năng chung, Điểm mở rộng, v.v. bằng cách phát triển dần dần một ví dụ thực tế và học các kỹ thuật sử dụng đa dạng của Spring MVC thông qua mã nguồn.
Tôi đang chuẩn bị một series giúp bạn có thể làm chủ hoàn toàn Spring. Tôi dự định sẽ truyền đạt những bí quyết thực tế, tập trung vào các tính năng cốt lõi của Spring được sử dụng trong công việc thực tế, và mạnh dạn lược bỏ những tính năng cũ hoặc không còn được sử dụng thực tiễn.
Series Chinh phục hoàn toàn Spring của Kim Young-han
Nguyên lý cốt lõi của Spring ~ Vận dụng thực tếBao gồm trong khóa học này
Chinh phục thực tế Spring Boot + JPA
Kỹ thuật thực hành Backend mới nhất đầy nội lực Phần thực hành chuyên sâu
Khóa học này dành cho ai?
Nhà phát triển mới tiếp cận với Spring MVC
Người đang chuẩn bị xin việc lập trình viên
Nhà phát triển đang làm việc muốn tìm hiểu sâu về Spring MVC
Nhà phát triển muốn tạo ứng dụng web bằng Spring
Cần biết trước khi bắt đầu?
Ngôn ngữ Java
Kiến thức cơ bản về Spring
Khái niệm cơ bản về HTTP
Spring MVC Phần 1 - Công nghệ cốt lõi phát triển Web Backend
583,708
Học viên
40,559
Đánh giá
9,078
Trả lời
5.0
Xếp hạng
26
Các khóa học
Người giáo dục
Trước đây: Giám đốc kỹ thuật tại Woowa Brothers, Kakao, SK Planet
Sách: Lập trình JPA tiêu chuẩn Java ORM
Mục tiêu của tôi là đào tạo để bạn có thể trở thành một nhà phát triển thực thụ, cần thiết cho công việc thực tế. developer.
Video phỏng vấn EO
Cuộc đời của Kim Young-han, giảng viên hàng đầu dành cho các nhà phát triển Hàn Quốc [Phần 1]
Cuộc đời của Kim Young-han, giảng viên hàng đầu dành cho các nhà phát triển Hàn Quốc [Phần 2]
Gae-bal-ba-dak - Chàng trai nông thôn trở thành vua lập trình
Tất cả
129 bài giảng ∙ (21giờ 5phút)
Tài liệu khóa học:
4. Tạo dự án
06:33
7. Biến - SpringEL
08:22
10. Liên kết URL
06:22
11. Literal
05:58
12. Phép toán
06:27
14. Lặp lại
08:48
16. Chú thích
06:47
17. Khối
04:15
19. Mảnh mẫu
09:27
20. Bố cục mẫu 1
09:11
21. Bố cục mẫu 2
07:52
22. Sắp xếp
11:34
Tất cả
1,268 đánh giá
5.0
1,268 đánh giá
Đánh giá 1
∙
Đánh giá trung bình 5.0
5
Chỉ cần đọc lộ trình của Kang thôi là tim tôi đã tràn ngập niềm vui rồi… Một bài giảng dạy cho bạn chính xác những gì bạn muốn học Một bài giảng cho phép bạn tự đọc tài liệu tham khảo Ngay cả một bài giảng vui vẻ Mọi người đang làm gì mà không nghe máy vậy?! Đừng lo lắng, chỉ cần trả tiền Thời gian khó mua được bằng tiền! Nhưng bài giảng của Younghan Kim đã làm được điều đó!
Thực ra, tôi nghĩ giá trị của bài giảng của tôi là mua được thời gian. Tôi sẽ sắp xếp và truyền tải các giá trị cốt lõi mà tôi tin là quan trọng mà tôi đã phát triển trong quá trình thực hành của mình cho đến nay và tôi hy vọng rằng bạn sẽ nhanh chóng học được chúng và trở thành nhà phát triển cấp độ tiếp theo. Cảm ơn bạn hanul_kr.
Đánh giá 34
∙
Đánh giá trung bình 4.3
5
Cuối cùng tôi đã hoàn thành khóa học. Tôi nghĩ lần đầu tiên tôi bắt đầu khóa học này là vào đầu tháng 11 năm ngoái. Lúc đó tôi có nghe nói đến việc quốc tế hóa thông điệp nhưng nó không gây ấn tượng tốt với tôi và không thể hiểu được nên tôi đã bỏ cuộc. Và tôi lang thang khắp YouTube, thử nhiều thứ có vẻ thú vị, nghiên cứu những kiến thức cơ bản về Java (tôi cần làm nhiều hơn) và SQL (tôi cần làm nhiều hơn) và đi loanh quanh theo vòng tròn. Và kể từ tháng trước, tôi đã xem lại nó với tốc độ đều đặn từ phần giới thiệu đến mùa xuân cho đến đầu bộ truyện cho đến tận bây giờ. Điều đáng ngạc nhiên là tôi có thể hiểu rõ nội dung lớp học mà không gặp bất kỳ khó khăn nào. Tuy nhiên, dù hiểu rất rõ nhưng tôi không biết có nên coi là lạ không khi tôi không có nhiều câu hỏi hơn nội dung buổi học. Có rất nhiều câu hỏi phái sinh được đặt ra, nhưng vì tôi không phải là một trong số đó nên có vẻ như vẫn còn một chặng đường dài phía trước. Dù sao thì tôi cũng rất hài lòng vì chỉ cần theo dõi và hiểu rõ nội dung lớp học. Khi lần đầu tiên nhìn thấy bài giảng của Younghan mà trước đó tôi chưa biết gì, tôi đã nghĩ, tại sao anh ấy lại dạy như thế này? Những gì tôi làm bây giờ đã quen thuộc và dễ hiểu, đồng thời tôi nhận ra rõ ràng rằng đó thực sự là một phong cách tốt hơn. Điều tương tự cũng xảy ra với MVC phần 2 này. Giờ đây, những cuốn sách về những con suối từng trông đáng sợ trong các hiệu sách giờ đây có thể trông thân thiện. Ai cũng biết môn học này là để củng cố nền tảng và cội rễ, nhưng tôi cũng xấu hổ và tự hào vì mình, với tư cách là một học viên, đang tham gia vào cuộc hành trình của một kiệt tác xứng đáng với danh hiệu chinh phục trọn vẹn. Tôi mất một lúc để lấy lại hơi thở và tự hỏi khi nào tôi sẽ xem và theo dõi tất cả những điều này trong quá khứ, nhưng trước khi tôi kịp nhận ra thì chỉ còn lại một bài giảng gần đây. Tôi định theo dõi bài giảng cuối cùng còn lại khi rảnh rỗi và sau đó bắt đầu lại từ đầu, điều này rất thiết thực. Khi viết bài này, tôi viết về hành trình mà tôi đã trải qua thay vì ôn lại lớp học. Chúc các bạn cùng học may mắn!
Mongil thân mến, bạn đã làm rất tốt việc nghiên cứu những phần bạn cần mà không bỏ cuộc cho đến cuối. Tôi cũng ủng hộ bạn!
Đánh giá 206
∙
Đánh giá trung bình 5.0
5
Tôi phải mất một thời gian để hoàn thành khóa học do bận rộn với công việc nhưng nội dung trong bài giảng này rất hữu ích. Bạn luôn nỗ lực để tạo ra những bài giảng hay, Younghan😘
Ôi trời, bạn đang bận rộn với các hoạt động hỗ trợ của mình, nhưng cảm ơn bạn đã để lại nhận xét cho lớp học. Tôi luôn ủng hộ bạn. Và hãy tiếp tục chăm sóc tôi nhé ^^!
Ôi trời, tôi thực sự muốn S2 ㅠㅠㅋ
Đánh giá 3
∙
Đánh giá trung bình 5.0
5
Tôi chưa kịp thở thì bài giảng đã đến và tôi đọc xong ngay. Trước khi MVC 2 ra mắt Trưởng nhóm, trước tiên tôi phải củng cố lộ trình của JPA và đang làm việc trên Spring Data JPA. Tôi đã sử dụng mybatis và học JPA, vì vậy tôi đã nghĩ, ôi, Shinsegae. Trùng hợp là bài giảng MVC 2 ra nên mình chỉ xem phần đầu một lát, xong lộ trình JPA, phải nghe lại bài giảng Mv 2, nhưng Time Leap vui quá nên mình nghe mãi haha. Tôi háo hức chờ đợi bài giảng sắp tới đến mức muốn bắt cóc trưởng nhóm, trói anh ta dưới tầng hầm và bắt anh ta chỉ quay phim bài giảng.
Hahaha, Dokkabei97, cảm ơn bạn rất nhiều vì đã sửa lỗi đánh máy và để lại nhận xét! Nhìn vào các đánh giá khóa học, tôi nghĩ mình cần phải nỗ lực hơn nữa haha. Tôi cũng ủng hộ bạn. làm đi!
Đánh giá 8
∙
Đánh giá trung bình 5.0
5
Tôi giới thiệu khóa học này cho tất cả các nhà phát triển biết và sử dụng Spring như một 'ma thuật'; Đây là bài giảng giải thích rõ ràng rằng mùa xuân là một 'khoa học';
Đẹp! Thật là một bài đánh giá khóa học được thể hiện tốt! Cảm ơn. sanghoon ^^
Hãy khám phá các khóa học khác của giảng viên!
Khám phá các khóa học khác trong cùng lĩnh vực!
2.531.858 ₫