Hiểu các nguyên tắc cốt lõi của Spring, Trở thành một nhà phát triển phần mềm backend đang phát triển!
📢 Vui lòng kiểm tra trước khi tham gia lớp học!
Bài giảng này là bài thứ hai trong loạt bài "Hoàn thiện Java Spring". Trước tiên, hãy xem qua Lộ trình Thành thạo Spring của Younghan Kim, giám đốc kỹ thuật trẻ nhất tại Woowa Brothers. (Truy cập)
Nguyên tắc cốt lõi của Spring - Bài giảng cơ bản hiện tại
Thiết kế hướng đối tượng và Spring
RẮN - SRP, OCP, DIP
Spring Container và Spring Bean
Spring Container - IoC, DI
Tiêm phụ thuộc
Chu kỳ sáng tạo và phạm vi trống
Nguyên tắc cốt lõi của Spring - Nâng cao
Các mẫu thiết kế Spring Core
Mẫu phương thức mẫu, mẫu chiến lược, mẫu gọi lại mẫu, mẫu proxy, mẫu trang trí
Chủ đề địa phương
Các vấn đề đồng thời, đa luồng, vị trí luồng
AOP mùa xuân
Các khái niệm, nguyên lý hoạt động, ví dụ thực tế và biện pháp phòng ngừa
Nguyên tắc cốt lõi mùa xuân của Kim Young-han Thiết kế hướng đối tượng, các nguyên tắc cốt lõi và tính năng của Spring
Từ các nguyên tắc của Spring đến các giá trị cốt lõi của nó
Việc học và sử dụng các tính năng của Spring không hề khó. Tuy nhiên, việc thực sự hiểu và vận dụng các giá trị và nguyên lý cốt lõi của nó lại là một thách thức đáng kể. Bởi vì việc hiểu không chỉ những thuật ngữ mơ hồ như IoC (Đảo ngược điều khiển) và DI (Tiêm phụ thuộc) mà còn cả các nguyên tắc của thiết kế hướng đối tượng tốt (SOLID), chẳng hạn như SRP, OCP và DIP, là rất quan trọng để thực sự nắm bắt được các nguyên lý cốt lõi của Spring.
Giá trị cốt lõi thực sự của Spring nằm ở lập trình hướng đối tượng (OOP). Và chính bản chất hướng đối tượng này khiến Spring trở nên khó nắm bắt đến vậy. Để thăng tiến lên một tầm cao mới với tư cách là một lập trình viên backend, việc hiểu sâu sắc các giá trị và nguyên tắc cốt lõi mà Spring cung cấp là điều cần thiết .
Bài giảng này bắt đầu bằng việc quay ngược thời gian 20 năm, trước cả khi Spring ra đời, và giải thích lý do tại sao nó được tạo ra. Sau đó, chúng ta quay lại thời điểm đó và tạo một ứng dụng mẫu bằng mã Java thuần túy, không sử dụng Spring. Khi các yêu cầu thay đổi, các vấn đề được phát hiện lần lượt và chúng ta giải quyết chúng bằng cách áp dụng từng nguyên tắc hướng đối tượng tốt vào mã nguồn. Trong quá trình này, bạn sẽ tự nhiên hiểu được các nguyên tắc hướng đối tượng tốt (SOLID), IoC và DI thông qua mã nguồn, và nhận ra lý do tại sao container Spring lại cần thiết .
Thay vì chỉ hiểu các nguyên tắc cốt lõi của Spring về mặt lý thuyết, bạn sẽ tự nhiên hiểu chúng thông qua quá trình phát triển các ứng dụng ví dụ bằng mã của riêng bạn.
Mục lục bài giảng
1. Thiết kế hướng đối tượng và Spring
2. Hiểu các nguyên tắc cốt lõi của Spring 1 - Tạo ví dụ
3. Hiểu các nguyên tắc cốt lõi của Spring 2 - Áp dụng các nguyên tắc hướng đối tượng
4. Spring Container và Spring Bean
5. Container đơn
6. Quét thành phần
7. Tự động tiêm phụ thuộc
8. Gọi lại vòng đời trống
9. Phạm vi trống
Phần đầu tiên của bài giảng (Phần 1-3) giải thích các nguyên tắc cốt lõi của hướng đối tượng và Spring. Bắt đầu với Phần 4: Spring Container và Spring Bean, bài giảng đi sâu vào các tính năng cốt lõi của Spring. Phần này tập trung vào lý do mỗi tính năng cốt lõi được tạo ra, tại sao chúng cần thiết, và quan trọng nhất là cách chúng được sử dụng trong các ứng dụng thực tế.
Vì vậy, ngoài việc chỉ sử dụng các tính năng của Spring, bạn có thể hiểu đúng và sử dụng cách tốt nhất để tận dụng chúng trong thực tế .
Sau khi nghe bài giảng này
Bài giảng này không chỉ đơn thuần là giải thích từng tính năng trong tài liệu tham khảo Spring. Ngoài bản thân các tính năng, bài giảng còn giải thích lý do Spring được tạo ra, tại sao nó cung cấp các tính năng này và các nguyên tắc cốt lõi đằng sau chúng .
Kết thúc khóa học này, bạn không chỉ có thể sử dụng hiệu quả các tính năng cơ bản của Spring mà còn có được hiểu biết sâu sắc về các nguyên tắc cốt lõi của nó . Hiểu được những nguyên tắc cơ bản của Spring cũng giống như hiểu được những nguyên tắc cơ bản của thiết kế hướng đối tượng. Do đó, bạn có thể phát triển từ một nhà phát triển chỉ sử dụng các tính năng của Spring thành một người am hiểu thiết kế và kiến trúc của các ứng dụng hướng đối tượng ở mọi cấp độ .
Đối tượng mục tiêu của bài giảng
Mùa xuân đầu tiên Các nhà phát triển đang liên hệ
Nguyên tắc cốt lõi của Spring Các nhà phát triển muốn hiểu
Thiết kế hướng đối tượng Các nhà phát triển gặp rắc rối
Lời giới thiệu mùa xuân của Kim Young-han sinh viên
Khóa học về các nguyên tắc cốt lõi của Spring này được thiết kế dành cho các nhà phát triển mới làm quen với Spring, cũng như những người đã sử dụng Spring trong công việc nhưng muốn hiểu và áp dụng các nguyên tắc cốt lõi của nó. Khóa học cũng hữu ích cho các nhà phát triển đang gặp khó khăn với thiết kế hướng đối tượng.
Sẽ tiếp tục trong tương lai Chuỗi chinh phục hoàn chỉnh mùa xuân
Chúng tôi đang chuẩn bị một loạt bài học được thiết kế để giúp bạn nắm vững Spring một cách toàn diện. Chúng tôi sẽ tập trung vào các tính năng cốt lõi của Spring được sử dụng trong các ứng dụng thực tế, mạnh dạn lược bỏ các tính năng lỗi thời hoặc lạc hậu, và cung cấp kiến thức thực tế.
Khi mới học Spring, tôi thực sự không hiểu tại sao lại cần nó hoặc sử dụng nó ở đâu, như thế nào và khi nào, vì vậy tôi đã nghiên cứu qua sách, bài giảng trực tuyến và nhiều tài nguyên khác. Nếu có được bài giảng của Younghan khi bắt đầu học mùa xuân, tôi nghĩ những khó khăn, vất vả khi mới học mùa xuân sẽ giảm bớt.
Đây là lần đầu tiên tôi thấy một bài giảng mùa Xuân bắt đầu bằng cách tiếp cận hướng đối tượng và tôi nghĩ Younghan có khả năng to lớn không chỉ trong phát triển mà còn trong giảng dạy.
Tất cả những gì tôi có thể nói là thật đáng ngạc nhiên khi Younghan đã tìm ra cốt lõi và bản chất thông qua cấu trúc bài giảng của mình và lồng ghép chúng vào phần đầu bài giảng.
Nếu bạn không hiểu toàn bộ bài giảng hoặc đang thắc mắc liệu bài giảng có thực sự hay hay không, hãy học bằng sách, Internet, v.v. rồi xem lại góc nhìn của bạn sẽ mở rộng và bạn sẽ hiểu những gì trước đây bạn chưa hiểu khi nhìn vào nó. Một lần nữa sẽ có một số phần mà bạn cảm thấy được giải thích một cách dễ dàng (tôi nghĩ đây là một lợi thế của bài giảng trực tuyến và đây là kinh nghiệm của tôi khi xem bài giảng jpa của Younghan.. haha) Và phong cách bdd, khẳng định, v.v. được đề cập trong bài giảng có thể không quen thuộc nếu bạn nhìn thấy nó lần đầu tiên, nhưng anh ấy sẽ ném từ khóa vào bạn trên Google. Tôi nghĩ nó sẽ giúp ích rất nhiều cho bạn nếu bạn học tập.
Tôi mong chờ bài giảng tiếp theo.
Sau khi nghe bài đánh giá khóa học tuyệt vời của OMG, tôi muốn để lại câu chuyện trung thực về những lo lắng của mình khi chuẩn bị cho khóa học này. Thực sự tôi gặp rất nhiều khó khăn với bài giảng này. Tôi nghĩ sẽ dễ dàng tạo ra một bài giảng giải thích đơn giản từng chức năng của lò xo.
Tuy nhiên, trong bài giảng này tôi muốn truyền tải giá trị đích thực của Mùa Xuân mà tôi cảm nhận được qua Mùa Xuân. Ngoài việc đơn giản sử dụng các tính năng của Spring, tôi còn muốn hiểu giá trị thực sự của hướng đối tượng và cho bạn biết niềm vui khi thiết kế và thiết kế các ứng dụng thông qua hướng đối tượng và Spring.
Để làm được điều đó, thay vì giải thích từng chức năng của Spring, chúng ta cần bắt đầu bằng một câu chuyện hướng đối tượng. Đặc biệt, cần phải giải thích dễ dàng câu chuyện về bản thân hướng đối tượng và gắn nó với Spring, nhưng thực sự rất khó để giải thích hướng đối tượng một cách dễ dàng nhất có thể cho những người mới làm quen với Spring và cách gắn nó với Spring. Mùa xuân. Cuối cùng, tôi đã hoàn thành quy trình cơ bản bằng cách ghép các câu đố trong đầu lại như thế này và thế kia, rồi tạo mã ví dụ như thế này và thế kia trong vài tháng. Và liệu những người mới làm quen với Spring có hiểu được điều này không? Khi tôi nghĩ về nó, tôi đã tinh chỉnh nó nhiều lần để làm cho nó dễ hiểu nhất có thể. Khi tạo một bài giảng, tôi ngồi trước máy tính xách tay và tạo ra nó, nhưng khi tạo ra một luồng lớn, tôi thường thích suy nghĩ trong khi đi dạo. Vì vậy, tôi đã đi bộ rất nhiều trong suốt buổi học này haha. Nhờ đó mà tôi trở nên khỏe mạnh hơn rất nhiều. cười
Ôi trời, tôi rất biết ơn vì bạn đã nhận ra dấu vết lo lắng của tôi.
Tôi thậm chí có cần phải nói bất cứ điều gì? Kỹ năng giảng dạy xuất sắc, chuẩn bị bài giảng kỹ lưỡng, tôi không nghĩ mình từng học một tài liệu PDF được chuẩn bị kỹ lưỡng như vậy hay một lớp học trực tuyến mà không nhàm chán khi nghe bài giảng trực tuyến haha. Nếu tôi học bài giảng này khi đang chuẩn bị cho một cuộc phỏng vấn trước khi đi xin việc, tôi sẽ vượt qua cuộc phỏng vấn như một con ngựa cưỡi một con ngựa đỏ haha.. Tôi rất thích bài giảng. Tôi sẽ đi nghe phần tiếp theo ngay khi nó ra mắt!
Cảm ơn. Mặt trời. Có vẻ như người phỏng vấn đã hỏi rất nhiều câu hỏi liên quan đến mùa xuân. Haha, thế thì tôi sẽ đi chuẩn bị quả cà chua đỏ tiếp theo ^^!
Tôi đang xem bài giảng DB thứ hai, bắt đầu bằng phần Giới thiệu về Mùa xuân. Tôi nghĩ có lẽ chúng tôi sẽ sớm hoàn thành lộ trình. Thực ra đây là bản đánh giá toàn bộ lộ trình của Kim Young-han, và tôi không biết có nên để nó ở đây trong phần cơ bản hay không, nhưng dù sao thì tôi cũng sẽ viết nó ở đây. Bạn có phải là học sinh năm thứ ba trở xuống không? `Vô điều kiện` Nghe. Tôi không có ý chê bai nhưng công ty của bạn là doanh nghiệp vừa và nhỏ? `Vô điều kiện` Nghe. Lộ trình của Younghan Kim là một bài giảng cao cấp không chỉ đơn thuần cung cấp kiến thức và nâng cao tư duy của một nhà phát triển thực sự. Những người phát triển trong lĩnh vực này sẽ thông cảm. Trên thực tế, nghề lập trình viên là nghề có khoảng cách kiến thức giữa người giàu và người nghèo rất lớn. Nói cách khác, các nhà phát triển thông minh thực sự rất thông minh. Thành thật mà nói, những nhà phát triển thiếu hiểu biết thậm chí có thể được gọi là lập trình viên, chỉ sao chép và dán mà không cần suy nghĩ và làm việc ngày này qua ngày khác. Nhưng điều quan trọng ở đây là không ai, kể cả một nhà phát triển thiếu hiểu biết, trở thành một nhà phát triển thiếu hiểu biết vì họ muốn như vậy. Dù biết mình còn thiếu sót nhưng tôi vẫn không biết học. Bạn có học bằng cách tìm kiếm trên Internet không? Thành thật mà nói, tôi nghĩ điều này là sai. Nếu nhìn vào những gì được đăng trên các blog công nghệ, có thể có phần nào đó là sự thật, nhưng có quá nhiều thông tin không chính xác và nội dung rời rạc nên không có ích cho việc học tập nghiêm túc. Ngoài ra, khi tôi cố gắng mua và nghiên cứu sách thì đều là những cuốn sách đã xuất bản được 2, 3 năm và có quá nhiều điểm khác biệt do nâng cấp phiên bản hoặc thay đổi thông số kỹ thuật trong thời gian chờ đợi nên tôi cảm thấy mình không thể. thực tế theo kịp xu hướng. Và trong hoàn cảnh này, các nhà phát triển cũng là nhân viên văn phòng và phải làm công việc được giao. Tôi tiếp tục tạo mã bằng cách nào đó hoạt động, sau đó chuyển sang nhiệm vụ tiếp theo... để cuộc sống hàng ngày của tôi lặp lại, và đến một lúc nào đó, tôi trở thành một nhà phát triển chỉ chịu đựng một cách trì trệ mỗi ngày. Tuy nhiên, điều tôi cảm nhận được khi nghe bài giảng của Kim Young-han là 'Tôi nên học như thế nào'? Tôi rất ấn tượng khi nhận ra rằng phương pháp học tập này có thể dẫn đến sự phát triển tốt. Ngoài ra, những lời khuyên nhỏ được đưa ra trong bài giảng, chẳng hạn như những vấn đề gặp phải trong thực tế và cách giải quyết... Tôi không biết giải thích bằng lời như thế nào. Đây thực sự là những bí quyết quý giá mà dù có trả tiền thì bạn cũng không thể học được ở đâu cả. Tôi muốn nói rằng đây là kiến thức rất quý giá mà từ đó bạn có thể học cách các nhà phát triển tại các công ty CNTT hàng đầu, được gọi là Nekarakubae, suy nghĩ và giải quyết vấn đề. chắc chắn sẽ lắng nghe. Tôi đặc biệt khuyến khích ngay cả những người hiện tại cũng nên nghe nó. Đôi khi, có người lo lắng về học phí... Khó nói vì hoàn cảnh tài chính của mỗi người mỗi khác, nhưng hãy lắng nghe. Tôi thực sự không hối tiếc.. Và cuối cùng là Kim Young-han. Nhờ có một người thầy như tôi mà ngay cả một nhà phát triển như tôi cũng có thể trở thành một con người. Chúc bạn may mắn trong tương lai và chụp thật nhiều ảnh bài giảng của bạn..
Sau khi đọc bài phê bình của Rammus, tôi nghĩ mình đã giảng dạy rất tốt.
Tôi cũng từng phải chịu nhiều đau khổ ở những công ty tồi, những dự án SI khó khăn nên tôi hiểu rất rõ ý của bạn khi nói về khoảng cách tri thức giữa người giàu và người nghèo.
Khi tôi làm việc tại một công ty được gọi là dịch vụ tốt, tôi thấy rằng nhiều nhà phát triển đã không kiếm được việc làm ở một công ty tốt ngay từ đầu, nhưng nhiều người đã bắt đầu ở các công ty nhỏ hoặc SI và phát triển theo cách của họ.
Điểm chung của họ là đều là những người không ngừng nghĩ về cách phát triển theo cách tốt hơn để trở thành nhà phát triển giỏi.
Tôi nghĩ Rammus là người không ngừng phấn đấu để trở thành một nhà phát triển giỏi hơn, bất kể tình hình hiện tại của anh ấy ra sao.
Tôi đang cổ vũ cho bạn. Và tôi hy vọng bạn sẽ có một năm phát triển vượt bậc vào năm 2024 :)
Ngay cả khi còn học cấp hai và cấp ba, tôi cũng không thích nghe bài giảng trực tuyến nhưng tôi thực sự thích bài giảng này.
Bây giờ tôi có thể hiểu và sử dụng các chức năng mà tôi đã từng sử dụng mà không cần biết nguyên tắc. Tôi mong chờ bài giảng tiếp theo. haha
Cảm ơn. Hyeongeun ^^ Mặc dù bài giảng truyền tải thông điệp rõ ràng nhưng nó rất thuận tiện vì quá trình thay đổi mã có thể được giải thích dễ dàng. Tôi cũng sẽ chuẩn bị chăm chỉ cho bài giảng tiếp theo.