강의

멘토링

로드맵

BEST
Programming

/

Back-end

Spring Core Principles - Basic Edition

Spring beginners can grasp core principles and solidify basics via examples.

(5.0) 4,557 reviews

48,424 learners

  • yh
Spring
oop

Reviews from Early Learners

What you will learn!

  • Spring Basic Features

  • Spring Core Principles

  • Object-Oriented Design

Understand the core principles of Spring,
Become a growing backend developer!

📢 Please check before taking the class!

  • This lecture is the second in the "Complete Java Spring Mastery" series. First, check out the Spring Mastery Roadmap from Younghan Kim, the youngest technical director at Woowa Brothers. (Go to)

Spring Core Principles - Basics Current Lecture

  • Object-oriented design and Spring
    • SOLID - SRP, OCP, DIP
  • Spring Container and Spring Bean
    • Spring Container - IoC, DI
    • Dependency Injection
    • Empty creation cycle and scope

Spring Core Principles - Advanced

  • Spring Core Design Patterns
    • Template method pattern, strategy pattern, template callback pattern, proxy pattern, decorator pattern
  • Thread local
    • Concurrency issues, multithreading, thread locality
  • Spring AOP
    • Concepts, operating principles, practical examples, and precautions

Kim Young-han's Spring Core Principles Fundamentals
Object-oriented design, core principles and features of Spring

From Spring's principles to its core values

Simply learning and using Spring's features isn't difficult. However, truly understanding and utilizing its core values and principles presents a significant challenge. This is because understanding not only vague terms like IoC (Inversion of Control) and DI (Dependency Injection) but also principles of good object-oriented design (SOLID), such as SRP, OCP, and DIP, is crucial to truly grasping Spring's core principles.

Spring's true core value lies in object-oriented programming (OOP). And it's precisely this object-oriented nature that makes Spring so difficult to grasp. To advance to the next level as a backend developer, a deep understanding of the core values and principles Spring provides is essential .

This lecture begins by going back 20 years, before Spring even existed, and explaining why it was created. We then go back to that time and create a sample application using pure Java code, without Spring. As requirements change, problems are discovered one by one, and we solve them by applying good object-oriented principles to the code one by one. In this process, you will naturally understand good object-oriented principles (SOLID), IoC, and DI through code, and realize why the Spring container is necessary .

Rather than simply understanding the core principles of Spring theoretically, you will naturally understand them through the process of developing example applications with your own code.

Lecture Table of Contents

  • 1. Object-oriented design and Spring
  • 2. Understanding Spring Core Principles 1 - Creating an Example
  • 3. Understanding Spring Core Principles 2 - Applying Object-Oriented Principles
  • 4. Spring Container and Spring Bean
  • 5. Singleton container
  • 6. Component Scan
  • 7. Automatic dependency injection
  • 8. Empty lifecycle callbacks
  • 9. Empty scope

The first part of the lecture (Parts 1-3) explains the core principles of object-orientation and Spring. Starting with Part 4: Spring Containers and Spring Beans, the lecture delves into the core features offered by Spring. This section focuses on why each core feature was created, why it's needed, and, most importantly, how it's used in practical applications.

So, beyond simply using Spring's features, you can properly understand and use how to best utilize them in practice .

After listening to this lecture

This lecture isn't simply a one-by-one explanation of the features found in the Spring reference documentation. Beyond the features themselves, it explains why Spring was created, why it provides these features, and the core principles behind them .

By the end of this course, you will not only be able to use Spring's basic features effectively, but also gain a profound understanding of its core principles . Understanding the fundamentals of Spring is tantamount to understanding the fundamentals of object-oriented design. Therefore, you can evolve from a developer who simply uses Spring's features to one who considers the design and architecture of object-oriented applications at all levels .

Lecture target audience

Spring first
Developers in contact

Spring core principles
Developers who want to understand

Object-oriented design
Developers in trouble

Kim Young-han's Spring Introduction
students

This course on Spring's core principles is designed for developers new to Spring, as well as those who already use Spring in their work but want to understand and apply its core principles. It's also helpful for developers struggling with object-oriented design.

To be continued in the future
Spring Complete Conquest Series

We're preparing a series designed to help you master Spring completely. We'll focus on core Spring features used in real-world applications, boldly omitting obsolete or outdated features, and provide practical know-how.

Lecture order


Related Roadmap

Spring Complete Conquest Series
Getting started with Spring smartly,
This course covers core principles and practical applications.

Complete mastery of Spring Boot + JPA practices
Web apps with the latest practical technologies
If you want to learn while making, go to the practical advanced stage

Recommended for
these people

Who is this course right for?

  • New Spring developer

  • Aspiring developer

  • Developer eager to grasp Spring via code

  • Developer who studied Spring but gave up due to its difficulty.

  • Professional Spring user wanting to fully grasp and apply its core principles.

Need to know before starting?

  • Java language

Hello
This is

559,300

Learners

36,699

Reviews

8,971

Answers

5.0

Rating

25

Courses

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

Curriculum

All

65 lectures ∙ (12hr 5min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

4,557 reviews

5.0

4,557 reviews

  • omg님의 프로필 이미지
    omg

    Reviews 205

    Average Rating 5.0

    5

    100% enrolled

    When I first studied Spring, I didn't really understand why it was necessary, where, how, and when to use it, so I studied by looking for books, online lectures, and many other materials. If I had Younghan's lectures when I started studying Spring, I think the difficulties and hardships I experienced when I first studied Spring would have been reduced. It was the first time I saw a Spring lecture that started with object-oriented learning, and I think Younghan has an incredible ability not only in development but also in teaching. I was able to figure out what the core and essence are through Younghan's lectures, and I can't help but say that it's really amazing that he incorporates that into the beginning of the lecture. If you still don't understand the lectures after watching them all, or if you have doubts about whether the lectures are really good, study using books, the internet, etc., and then review them. As your horizons expand, you will understand things you didn't understand before when you watch them again, and you will feel that they were explained so easily (I think this is the advantage of online lectures, and this is my experience watching Younghan's jpa lectures..ㅎㅎ) Also, the bdd style, assertj, etc. covered in the lectures will seem unfamiliar at first, but if you Google the keywords that are given and study them, I think it will be very helpful. I look forward to the next lecture.

    • yh
      Instructor

      After hearing OMG's wonderful review, I would like to share my honest thoughts about what I was worried about while preparing this lecture. In fact, I had a lot of worries about this lecture. I think it would be easy to make a lecture that simply explains the functions of Spring one by one. However, I wanted to convey the true value of Spring that I felt through Spring. I wanted to go beyond simply using the functions of Spring and understand the true value of object-oriented design and let you know what the joy of designing and designing applications is through object-oriented design and Spring. To do that, I had to start with the story of object-oriented design rather than explaining the functions of Spring one by one. In particular, I had to explain the story of object-oriented design itself in an easy way and connect it with Spring. It was really difficult to figure out how to explain object-oriented design as easily as possible to those who are new to Spring, and how to connect it with Spring. In the end, I spent several months trying to fit the puzzle in my head like this and like that, and creating example code like this and like that, and I completed the basic flow. And I wondered if those who are new to Spring would be able to understand this content, so I refined it again and again to make it as easy to understand as possible. When I make lectures, I sometimes sit in front of my laptop and make lectures, but when I make the big picture, I usually think while taking a walk. So I walked a lot for this lecture. Thanks to that, I became a lot healthier. ㅋㅋㅋ I'm so grateful that OMG noticed the traces of my worries.

    • I was juggling work and couldn't listen from the middle, so could you extend it? I think it's a really good lecture.

  • jangy1000496님의 프로필 이미지
    jangy1000496

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

    Where are you, Mr. Kim Young-han?? From now on, I will bow to you before I go to bed.. Thank you so much for the great lecture.

    • yh
      Instructor

      Hahaha thank you Yj Jang. It's the east. Haha

  • giraffelim님의 프로필 이미지
    giraffelim

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    Do I need to say more? Excellent teaching skills, thorough lecture preparation, I don't think I've ever taken such well-prepared PDF materials or such a non-boring class while listening to an online lecture. If I had listened to this lecture when I was preparing for an interview before getting a job, I would have been like Lu Bu riding a red hare. I listened to the lecture well. I will go listen to the sequel as soon as it comes out!

    • yh
      Instructor

      Thank you, Sun. It looks like the interviewers asked a lot of spring-related questions. Haha. Then I will go prepare for the next Jeokto-ma^^!

  • 7942dyddlfsla1681님의 프로필 이미지
    7942dyddlfsla1681

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    I'm starting from Spring Introduction and taking the DB 2 lecture. I think I'll finish the roadmap soon. In fact, this is a review of the entire roadmap of Mr. Kim Young-han, but I wonder if it's right to leave it here in the basics, but I'll write it here anyway. Are you a junior with less than 3 years of experience? `Definitely` listen. I don't mean to look down on you, but is your company a small or medium-sized enterprise or SI? `Definitely` listen. Mr. Kim Young-han's roadmap is a masterpiece lecture that goes beyond simply providing knowledge and really levels up the mindset of a developer. Those who are developing in the field will agree. This job of a developer is actually a job where the gap in knowledge is really severe. In other words, smart developers are really, really smart. Ignorant developers, to be honest, are called coders, just copy and paste without thinking and work day after day. But the important thing here is that no one who is an ignorant developer wants to be an ignorant developer. Even though I know I am lacking, I still don't know how to study. I study by searching the Internet? Honestly, I think that is wrong. If you look at the things that come up on so-called technical blogs, there are some correct things, but there is so much incorrect information and so much fragmentary content that it is not helpful for serious study. Also, when I try to buy books and study them, they are all books that were published 2 or 3 years ago, and there are so many differences due to version updates and changes in technical specifications that I feel like I can't keep up with the trends. And in this situation, developers are also office workers and have to do their assigned work. They somehow make code that works and then move on to the next task... The daily routine repeats itself, and at some point, they become developers who just endure each day out of inertia. However, what I felt while listening to Kim Young-han's lecture was that I was deeply impressed as I realized the study method of 'how to study' to become a good developer. Also, during the lecture, you talk about practical problems and solutions, and other small tips.. I don't know how to explain this in words. It's really valuable know-how that you can't learn even if you pay money. I want to say that it's very valuable knowledge that allows you to learn how developers at top-tier IT companies, so-called Nekarakubae, think and solve problems. So, if you're preparing to get a job as a developer, you should definitely listen. I also recommend that people who are currently working listen. Sometimes, there are people who worry about the tuition.. Everyone's financial situation is different, so it's hard to say, but please listen anyway. You really won't regret it.. And lastly, Mr. Kim Young-han. Thanks to a teacher like you, even a developer like me was able to become a person. I hope you continue to do well and make many lectures..

    • yh
      Instructor

      Looking at Rammus's course review, I think I did a good job teaching. I have also suffered a lot in bad companies and difficult SI projects, so I understand well what the gap in knowledge you mentioned means. When I work at so-called good service companies, I see that many developers did not start out at good companies, but started at small companies or SIs and worked their way up. What they all have in common is that they are all people who constantly think about how to develop in a better way to become good developers. I think Rammus is someone who continuously strives to become a better developer no matter what the current situation is. I support you. And I hope you grow greatly in 2024 :)

  • bogeun님의 프로필 이미지
    bogeun

    Reviews 9

    Average Rating 5.0

    5

    100% enrolled

    Even when I was in middle and high school, I didn't like taking online lectures, but this lecture was really fun and easy to listen to. I can now understand and use functions that I used to use without even knowing the principles. I'm looking forward to the next lecture. Haha

    • yh
      Instructor

      Thank you, Hyungeun^^ The lecture was very helpful because it explained the process of changing codes easily, even from the perspective of someone who was definitely learning. I will also work hard to prepare for the next lecture.

Limited time deal ends in 7 days

$51.70

24%

$68.20

yh's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!