Đây là khóa học nhằm tìm hiểu nguyên lý hoạt động của Spring Boot bằng cách tạo ra các chức năng cốt lõi của Spring Boot, qua đó tìm hiểu cách học và sử dụng tốt Spring Boot. Bạn có thể tìm hiểu nhiều cách khác nhau để sử dụng Spring Framework được Spring Boot sử dụng.
Cách hiểu và sử dụng các công nghệ và cấu hình do Spring Boot cung cấp
Các công nghệ cốt lõi và ứng dụng của Spring Framework
Cách tạo mô-đun Spring Boot của riêng bạn
Tạo một khuôn khổ bằng chính đôi tay của tôi Nắm vững những kiến thức cơ bản về Spring Boot! 🌱
Giày bốt mùa xuân của Toby
Các tính năng cốt lõi và nguyên tắc hoạt động của Spring Boot
Spring Boot là một công cụ giúp bạn phát triển ứng dụng Spring nhanh chóng và dễ dàng. Nó cho phép bạn bắt đầu phát triển ứng dụng Spring rất nhanh chóng và thuận tiện, đồng thời xử lý rất nhiều công việc hậu trường, gần như một phép thuật.
Spring Boot đã trở thành tiêu chuẩn thực tế cho việc xây dựng ứng dụng sử dụng Spring Framework. Tuy nhiên, nếu không hiểu rõ các nguyên lý cơ bản đằng sau sự tiện lợi của nó, bạn sẽ gặp phải nhiều hạn chế và rào cản. Để phát triển ứng dụng, tích hợp thêm nhiều công nghệ và đáp ứng nhu cầu cụ thể, bạn cần hiểu cách Spring Boot hỗ trợ phát triển ứng dụng Spring.
Bạn đã từng có những lo lắng này chưa? 🤔
Tôi đang phát triển một máy chủ API hoặc dịch vụ phụ trợ bằng Spring Boot, nhưng tôi không chắc mình có hiểu và sử dụng Spring đúng cách hay không .
Tôi bối rối vì chức năng hệ thống được tạo bằng Spring Boot đã thay đổi sau khi áp dụng mẹo tôi tìm thấy thông qua cộng đồng hoặc tìm kiếm.
Tôi chỉ phát triển với Spring Framework, nhưng sau đó tôi chuyển sang Spring Boot và có vẻ như các phương pháp sử dụng Spring mà tôi biết đã trở nên vô dụng .
Tôi không thực sự hiểu sự khác biệt giữa Spring và Spring Boot là gì và Spring Boot là gì .
Tôi muốn thêm công nghệ mới vào Spring Boot hoặc thay đổi cách sử dụng công nghệ này , nhưng tôi không chắc cách thực hiện đúng.
Tôi muốn tạo ra công nghệ hoặc mô-đun tính năng của riêng mình có thể được áp dụng tự động như Spring Boot.
Trong khóa học này, bạn sẽ tìm hiểu các nguyên tắc hoạt động cốt lõi của Spring Boot, rất cần thiết cho việc học và sử dụng hiệu quả. Bạn sẽ có thể hiểu đầy đủ và sử dụng Spring Boot thông qua ba bước sau.
1) Hiểu cách Spring Boot hoạt động
Hiểu rõ cách thức hoạt động của Spring Boot sẽ giúp bạn học hỏi và áp dụng các công nghệ mới một cách nhanh chóng và chính xác, vì bạn sẽ có được một phương pháp tiếp cận nhất quán trên nhiều công nghệ của Spring Boot. Điều này sẽ loại bỏ nhu cầu phải tìm kiếm các giải pháp rời rạc mỗi lần. Bằng cách nắm vững phương pháp tiếp cận và phương pháp ứng dụng nhất quán được sử dụng trên nhiều công nghệ Spring Boot khác nhau, bạn sẽ có thể phân tích chính xác các vấn đề và tìm ra giải pháp.
2) Tự tay xây dựng Spring Boot
Cách tốt nhất để hiểu cách thức hoạt động của Spring Boot là tự mình xây dựng một framework. Spring Boot cũng là một ví dụ tuyệt vời để học cách sử dụng Spring Framework. Bằng cách tự mình xây dựng một framework, bạn có thể suy ngẫm về nguồn gốc của Spring Boot, các mục tiêu của nó và cách Spring Framework được phát triển. Bằng cách tự mình xây dựng mã đơn giản nhưng thiết yếu, bạn có thể thu thập được nhiều kiến thức về Spring và phát triển Java back-end. Bằng cách tìm hiểu cách Spring Boot được xây dựng, bạn có thể tạo các module Spring Boot của riêng mình hoặc thậm chí tạo ra các công cụ tiện lợi áp dụng công nghệ Spring.
3) Hiểu cách Spring Boot tận dụng Spring Framework.
Hiểu rõ cách thức hoạt động của Spring Boot sẽ giúp bạn hiểu cách nó tận dụng Spring Framework. Bạn cũng sẽ có thể tìm hiểu sâu hơn về các tính năng khác nhau của Spring Boot.
Bạn có thể trực tiếp áp dụng Spring Framework vào phát triển ứng dụng.
Bạn sẽ có thể xử lý Spring Framework tốt như Spring Boot.
Tôi cũng có thể mô-đun hóa mã tôi tạo theo phong cách Spring Boot để dễ dàng sử dụng lại.
Tôi giới thiệu điều này cho những người này 🙋
Bất kỳ ai sử dụng Spring Boot trong thực tế
Những người muốn biết và sử dụng Spring và Spring Boot tốt hơn
Dành cho những ai đang cân nhắc chuyển từ Spring sang Spring Boot
Những người muốn học Spring Boot hiệu quả hơn
Hãy tham gia cùng Spring Guru, Toby! 🤗
Nếu bạn có kiến thức cơ bản về ngôn ngữ Java và kinh nghiệm tạo máy chủ cấp Hello World bằng Spring Boot, bạn có thể bắt đầu.
Chúng tôi sẽ giải thích chi tiết về các công nghệ phát triển web Java xuất hiện ở từng giai đoạn phát triển, các nguyên tắc cốt lõi của Spring Framework và cách sử dụng công nghệ Spring.
Chúng tôi sẽ giúp bạn phân tích cấu hình của Spring Boot và sử dụng đúng cách bằng cách tạo mã thể hiện các nguyên tắc hoạt động cốt lõi của Spring Boot.
Bạn sẽ hiểu rõ hơn về Spring Framework.
Bạn sẽ học được gì 📚
1. Xem xét Spring Boot
Chúng ta sẽ tìm hiểu lý do ra đời, các tính năng và mục tiêu của Spring Boot. Chúng ta sẽ giải thích ý nghĩa của việc Spring Boot không có container, ý kiến chủ quan là gì, và tại sao việc hiểu rõ Spring Boot lại quan trọng. Chúng ta cũng sẽ đi sâu vào khái niệm container, vốn có thể gây nhầm lẫn.
2. Ứng dụng độc lập
Hãy cùng khám phá cách các ứng dụng độc lập, một tính năng chính của Spring Boot, có thể được tạo ra bằng cách tạo các ứng dụng servlet độc lập và các ứng dụng Spring độc lập. Thông qua đó, chúng ta cũng sẽ tìm hiểu cách công nghệ web Spring được xây dựng và cách sử dụng Spring container trong quá trình này.
3. Tiêm phụ thuộc
Khi nói về Spring, bạn không thể bỏ qua DI. Chúng ta sẽ tìm hiểu khái niệm DI, cách Spring hỗ trợ DI và cách áp dụng DI vào kiểm thử. Chúng ta sẽ sử dụng Spring container để áp dụng DI vào mã nguồn. Chúng ta cũng sẽ tìm hiểu về các decorator và triển khai proxy sử dụng DI.
4. Ứng dụng dựa trên cấu hình tự động
Khóa học này khám phá các loại siêu dữ liệu cấu hình Spring và giải thích cách Spring Boot xử lý chúng. Khóa học cũng tìm hiểu về cấu hình tự động được giới thiệu bởi Spring Boot và cấu hình người dùng do các nhà phát triển tạo ra. Khóa học này sẽ giúp bạn hiểu cấu trúc của các ứng dụng được phát triển bằng Spring Boot. Thông qua quá trình phát triển thực tế, bạn sẽ chứng minh cách cấu hình tự động của Spring Boot tận dụng các công nghệ Spring khác nhau. Bạn cũng sẽ học cách sử dụng các chú thích Spring khác nhau được Spring Boot sử dụng.
5. Cấu hình tự động có điều kiện
Chúng ta sẽ tìm hiểu cách Spring Boot tận dụng công nghệ đăng ký bean có điều kiện @Conditional của Spring để tự động cấu hình. Bạn sẽ được trải nghiệm trực tiếp cách thông tin cấu hình ứng dụng thay đổi theo các điều kiện khác nhau. Chúng ta cũng sẽ tìm hiểu cách việc thêm trực tiếp cấu hình bean vào Spring Boot ảnh hưởng đến tính năng tự động cấu hình như thế nào.
6. Cấu hình tự động bằng cài đặt bên ngoài
Tính năng tự động cấu hình tiện lợi của Spring Boot không giới hạn việc phát triển một cách cứng nhắc, phiến diện. Chúng ta sẽ khám phá cách tận dụng cấu hình bên ngoài để tùy chỉnh dễ dàng và linh hoạt các công nghệ mà Spring Boot cung cấp thông qua việc triển khai thực tế. Chúng ta cũng sẽ tìm hiểu về tính trừu tượng của Môi trường (Environment), thứ tự ưu tiên nguồn thuộc tính (property) và cách sử dụng placeholder của Spring. Chúng ta cũng sẽ tìm hiểu cách các thuộc tính được liệt kê trong application.properties được liên kết với các bean được tự động cấu hình và cách chúng được nhóm lại.
7. Phát triển cấu hình tự động JDBC Spring
Bạn sẽ tự thiết kế và triển khai tính năng tự động cấu hình cho công nghệ Spring JDBC. Khóa học này sẽ hướng dẫn bạn các chiến lược để hiểu cấu trúc tự động cấu hình được áp dụng trong Spring Boot. Bạn sẽ học cách thiết kế với nhiều tùy chọn, tương tự như Spring Boot, và trải nghiệm cách tính năng tự động cấu hình áp dụng các tính năng phù hợp dựa trên điều kiện, đồng thời tạo mã thực tế.
8. Nhìn kỹ hơn vào Spring Boot
Bạn sẽ thấy rằng ngay cả khi chuyển đổi mã nguồn giống Spring Boot mà bạn đã phát triển trực tiếp sang Spring Boot, mã ứng dụng của bạn vẫn sẽ hoạt động như cũ. Giờ đây, bạn sẽ có cái nhìn rõ ràng hơn về những gì đang diễn ra bên dưới bề mặt khi phát triển với Spring Boot. Bạn sẽ học cách phân tích tính năng tự động cấu hình mở rộng của Spring Boot mà không bị quá tải. Bạn cũng sẽ phân tích mã tự động cấu hình trong Spring Boot Core, Spring Web và JDBC.
Những điều cần lưu ý trước khi tham gia khóa học 📢
Môi trường thực hành
Hệ điều hành và phiên bản (OS) : Bạn sẽ cần một hệ điều hành máy tính để bàn hỗ trợ công nghệ Java, chẳng hạn như Windows, Mac hoặc Linux.
Công cụ sử dụng: Bạn sẽ cần cài đặt JDK phiên bản 11 và IDE, đây là môi trường phát triển cho phép bạn phát triển và chạy các dự án Java.
Khóa học sử dụng phiên bản IntelliJ IDEA Ultimate.
Bạn có thể sử dụng phiên bản IntelliJ IDEA Community miễn phí hoặc STS (SpringSource Tool Suite).
Tài liệu học tập
Bạn có thể truy cập mã ví dụ trên GitHub. Mỗi bước trong bài học đều được cam kết, vì vậy bạn có thể xem và khám phá bất kỳ phần nào bạn muốn.
Bạn có thể tải xuống 130 trang slide được sử dụng trong bài giảng dưới dạng tệp PDF.
Ghi chú bài giảng, bao gồm phần giải thích ngắn gọn về nội dung được học trong mỗi buổi học và tài liệu tham khảo, được cung cấp ở định dạng PDF cho từng phần. Những ghi chú này có thể được cập nhật liên tục.
Kiến thức và biện pháp phòng ngừa của người chơi
Bạn cần có đủ kiến thức về ngôn ngữ Java để hiểu mã được viết bằng ngôn ngữ này. Hãy làm quen với các chú thích Java 5, các lớp ẩn danh, biểu thức lambda và luồng Java 8 .
Nếu bạn tò mò về luồng xử lý tổng thể, bạn có thể xem toàn bộ video mà không cần làm theo ví dụ. Sau đó, tôi khuyên bạn nên quay lại và làm theo từng bước trong ví dụ, tự cải thiện hoặc điều chỉnh mã.
Chúng tôi sẽ cập nhật video với thông tin về cách nâng cấp ví dụ lên Spring Boot 3.0.
Nếu có phần nào cần giải thích thêm, các video liên quan cũng sẽ được thêm vào.
Câu hỏi dự kiến Hỏi & Đáp 💬
H. Tại sao tôi cần hiểu cách Spring Boot hoạt động?
Bạn không cần phải hiểu rõ cách thức hoạt động của mọi công nghệ mình sử dụng, nhưng việc hiểu rõ cách thức hoạt động của Spring Boot sẽ giúp bạn sử dụng nó hiệu quả hơn. Spring Boot xử lý nhiều tác vụ tự động và ẩn, vì vậy việc hiểu rõ điều này sẽ cho phép bạn tận dụng tối đa các tính năng của nó mà không bỏ sót bất kỳ tác vụ nào. Bạn cũng có thể mở rộng nó để thực hiện các tác vụ mà ứng dụng của bạn yêu cầu. Việc tìm hiểu cách sử dụng Spring Framework được tích hợp trong Spring Boot cũng sẽ giúp bạn phát triển các ứng dụng dựa trên Spring.
H. Tôi không biết nhiều về Spring Framework. Tôi có thể tham gia khóa học này không?
Khóa học này giới thiệu công nghệ Spring Framework được sử dụng bởi Spring Boot và giải thích các khái niệm cốt lõi của Spring. Khóa học bao gồm hoạt động của Spring container, dependency injection và các mẫu thiết kế áp dụng. Tất nhiên, sau khi hoàn thành khóa học này, bạn nên tìm hiểu sâu hơn về công nghệ và nguyên lý hoạt động của Spring Framework nếu quan tâm.
H. Khóa học sử dụng Spring Boot 2.7. Liệu nó có hữu ích khi sử dụng phiên bản 3.0 mới phát hành không?
Tất cả các ví dụ được trình bày trong bài giảng này đều hoạt động với Spring Boot 3.0, chỉ có một số thay đổi nhỏ về phiên bản thư viện và một số tên gói. Bài giảng cũng đề cập đến cách di chuyển các ví dụ sang Spring Boot 3.0.
Giới thiệu Người chia sẻ kiến thức ✒️
Lịch sử
Tôi có 30 năm kinh nghiệm trong phát triển thực tế và 20 năm kinh nghiệm trong phát triển Spring Framework.
Chúng tôi đã phát triển nhiều hệ thống và dịch vụ khác nhau trong các lĩnh vực sản xuất, hậu cần, tài chính, truyền thông di động, thương mại, giáo dục và dịch vụ.
Tác giả của cuốn sách Toby's Spring 3.0 và 3.1.
Tôi đã thành lập Nhóm người dùng Korean Spring (KSUG) và đã hoạt động tích cực trong cộng đồng nhà phát triển trong một thời gian dài.
Khuyến nghị cho những người này
Khóa học này dành cho ai?
Bất cứ ai muốn hiểu rõ hơn và sử dụng Spring Boot một cách thoải mái
Những người đang sử dụng Spring Boot nhưng cảm thấy chưa biết nhiều về Spring
Bạn nào muốn học Spring Boot hiệu quả
Bất cứ ai muốn tạo và sử dụng module Spring Boot của riêng mình
Cần biết trước khi bắt đầu?
Ngôn ngữ Java (Java 8+)
Xin chào Đây là
13,645
Học viên
748
Đánh giá
343
Trả lời
5.0
Xếp hạng
7
Các khóa học
호주에 살고 있는 소프트웨어 개발자입니다. 30년간 다양한 분야의 시스템과 서비스를 개발해본 경험이 있습니다.
스프링 프레임워크와 관련 기술을 좋아하고 JVM 기반 언어를 주로 사용합니다.
한국스프링사용자모임(KSUG)을 설립하고 활동했고, 토비의 스프링이라는 책을 쓰기도 했습니다.
안녕하세요. 저는 만 7년 이상 스프링 실무경력을 가지고 있는 개발자입니다.
강의 수강 후 느낀 결론부터 이야기하면, 토비의 스프링 책과 마찬가지로 많은 개발자가 이 강의를 보셨으면 하는 바람입니다.
스프링을 공부하면서 토비의 스프링을 접하게 되었고 자연스레 토비님도 알게 되었습니다. 토비의 스프링 책을 읽으려고 하면 주변 개발자들은 "토비의 스프링은 나중에 경력이 생기면 읽어라" 라는 이야기를 했습니다. 당연히 주변 선임 개발자들이 그렇게 이야기하는 이유가 있을 거로 생각했고 결국 토비님의 책을 늦게 읽었습니다. 어느 책에서든 설명하는 기술적인 내용뿐 아니라, 개발하며 개발자가 문제를 직면했을 때 해결해 나가는 인사이트를 받았고, 책을 다 완독하고 나서 '내가 조금 더 일찍 책을 읽었으면 더 좋은 개발자로 성장할 수 있지 않았을까?'라는 아쉬움이 남았습니다.
토비의 스프링 부트도 책과 마찬가지로 기술적인 부분도 다루지만, 웹의 기본 원리도 강의에 포함되면서 초보자들의 진입장벽을 낮췄고, 정말 강의 구성을 섬세하게 하셨다는 생각이 들었습니다. 문제를 제시하고, 그 문제를 해결하고 리팩터링 하면서 테스트 코드를 통해 문제가 없는 것을 확인해주는 과정이 너무 인상 깊었고, 강의 중에 궁금한 점이 생길때 즈음 CCTV로 저를 보고있으신가..? 싶을 정도로 딱 그 궁금한 점을 풀어주시는 부분, 나만의 스프링 부트를 만들어 나가면서 조금씩 '나만의'를 제거하며 스프링 부트로 변환해 가는 과정이 신기했습니다. "나만의"가 사라지면 사라질 수록 스프링 부트는 내 것이 되는 게 아닌가 싶었습니다.
마지막으로 개발하면서 문제를 직면했을 때 동작을 확인하기 위해 Bean들간의 의존성이 어떻게 엮여있는지 파악 후 로직 확인을 하며 약간의 딥다이브를 하게 됩니다. 이때 의존성을 알기 위해서 Break-Point를 걸어서 확인하는데, 그 방법이 아니라 어떤 Bean이 올라왔는지 확인할 수 있도록 알려주셔서 다른 개발자들 또한 딥다이브를 쉽게 할 수 있는 방법을 알려주신 것 같습니다.
토비의 스프링을 읽고 나서 다음 책은 언제 나올지 항상 궁금했었는데, 강의를 통해 토비님을 뵙게 되어서 너무 좋았습니다! 좋은 목소리와 목소리 톤 그리고 쉽게 흡수될 수 있도록 하는 섬세한 설명이 정말 최고였습니다.
주변 초보 개발자분들께도 강의를 추천하며 다음 강의도 정말 기대하겠습니다!
감사합니다 :D
스프링을 스프링 부트로 처음 접한 현직자입니다. 스프링 부트를 도구로서 사용하는 데는 문제가 없었습니다. 하지만 항상 스프링 부트가 왜 나왔는지, 어떻게 발전되어왔는지에 대한 가려움이 있었죠. 이 강의는 그 간지러운 부분들을 아주 속속들이 긁어주는 명강의입니다.
가려운 부분을 정말 쉽게 긁어주신 토비님 정말 감사합니다. 👍
(MyXXX 어노테이션들이 스프링 부트의 어노테이션들로 변경되는 부분은 정말 소름이 돋았습니다. 🥶)
스프링 부트에서 마법처럼 편하게 해주는 것들이 실제로 어떻게 되는것인지에 대해서 직접 만들어가면서 이해할수있는 좋은 시간이었고, 그 과정에 진행하는 학습테스트가 너무 좋았던거같습니다.
개인적으로는 전체적으로 스프링 부트 핵심 원리와 개념을 익히는 것도 좋았지만,
1. 간단히 해결할 수 있는 방법으로 만들고는 조금 더 나은 방식으로 리팩터링
2. 리팩터링 하고는 테스트를 통해 이전과 이후가 같은 결과를 보이는가 확인
3. 처음에는 직접 실행시켜가며 결과 확인 했지만, 복잡해지고 반복됨에 따라 자동화된 테스트로 변경
이런 진행방식이 더 흥미로웠고, 많이 배웠습니다.
다음 강의도 기다리고있겠습니다! :)