BEST

Spring Core Principles - Basics

Beginners to Spring can understand the core principles of Spring and solidify their foundation in Spring by creating examples.

(5.0) 4,058 reviews

38,417 students

Spring
oop
Thumbnail

This course is prepared for Basic Learners.

What you will learn!

  • Spring Basics

  • 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 lecture in the Java Spring Complete Conquest series. Please check the Spring Complete Conquest roadmap by Younghan Kim, the youngest technical director of Woowa Brothers. (Go to)

Spring Core Principles - Basics Current Lecture

  • Object-oriented design and spring
    • SOLID - SRP, OCP, DIP
  • Spring Container and Spring Beans
    • 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 locals
  • Spring AOP
    • Concepts, operating principles, practical examples, cautions

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 the functions provided by Spring is not difficult. However, if you want to properly understand and use the core values and principles provided by Spring, you will face a big obstacle. This is because you need to understand the principles of good object-oriented design, such as SRP, OCP, and DIP, along with vague terms such as IoC (Inversion of Control) and DI (Dependency Injection), in order to properly understand the core principles of Spring.

The true core value of Spring lies in object-oriented programming (OOP). And the reason why it is difficult to properly understand Spring is because of this object orientation. If you want to grow into the next level of backend developer, you must deeply understand the core values and principles that Spring provides .

This lecture starts from the reason why Spring was created by going back 20 years ago when there was no Spring. And we also go back to that time and create a sample application with pure Java code without Spring. As the requirements change, problems are discovered one by one, and to solve the problems, we solve the problems by applying good object-oriented principles to the code one by one. In this process, you can naturally understand good object-oriented principles (SOLID) and IoC, 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 while developing example applications directly in 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 (1~3) explains the core principles of object orientation and Spring. Then, from 4. Spring Container and Spring Bean, the core functions provided by Spring are explained. It focuses on why each core function was created, where and why it is needed, and most importantly, how it is used in practice.

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

After taking this lecture

This lecture is not simply a lecture that explains each and every feature in the Spring reference documentation. It goes beyond the features and explains why Spring was created, why Spring provides these features, and the core principles .

After the lecture, you will be able to use the basic functions of Spring well, and you will have a deep understanding of the essence of Spring . Understanding the essence of Spring is the same as understanding the essence of object-oriented design. Therefore, you can grow from a developer who simply uses the functions of Spring to a developer who thinks about the design and architecture level of object-oriented applications .

Lecture target

 

 

Spring first
Developers in contact

Spring Core Principles
Developers who want to understand

Object-oriented design
Developer in trouble

Kim Younghan Spring Introduction
Student

The Spring Core Principles lecture is prepared for developers who are new to Spring, as well as developers who use Spring in practice but want to properly understand and use the core principles of Spring. It is also helpful for developers who have many concerns about object-oriented design.

To be continued in the future
Spring Complete Conquest Series

We are preparing a series that will allow you to completely master Spring. We will teach you practical know-how, focusing on core Spring functions used in actual practice, boldly omitting functions that are not used in practice or are outdated.

Lecture order


Related Roadmap

Spring Complete Conquest Series
Spring Smart Start,
This course includes 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 advanced practical stage

Recommended for
these people!

Who is this course right for?

  • Developers new to Spring

  • Developer job seeker

  • Developers who want to easily understand Spring through code

  • A developer who studied Spring but gave up because it was difficult

  • Developers who use Spring in practice but want to properly understand and use the core principles of Spring

Need to know before starting?

  • Java language

Hello
This is yh

501,932

Students

31,349

Reviews

8,780

Answers

5.0

Rating

22

Courses

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

More

Curriculum

All

65 lectures ∙ (12hr 5min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

4,058 reviews

5.0

4,058 reviews

  • 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

  • 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.

  • 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

    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

    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.

yh's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

$68.20