BEST

Spring Core Principles - Advanced

You will learn the core principles and advanced technologies of Spring in depth and be able to use Spring confidently.

(5.0) 700 reviews

19,193 students

Spring
Design Pattern

This course is prepared for Intermediate Learners.

00:00

/

-

  • Introduction video

    03:02

  • Course Introduction

    03:02

  • Create Project

    02:35

  • Creating Example Project - V0

    07:35

  • Log Tracker - Requirements Analysis

    06:04

  • Log Tracker V1 - Prototype Development

    24:51

  • Log Tracer V1 - Apply

    15:37

  • Log Tracer V2 - Parameter Synchronization Development

    05:45

  • Log Tracker V2 - Apply

    06:22

  • Organize

    05:24

  • Field Synchronization - Development

    12:37

  • ThreadLocal - Introduction

    04:18

  • Bean Post-processor - Introduction

    03:53

  • AOP Introduction - Core & Auxiliary Features

    06:31

  • Introduction to AOP - Aspect

    07:49

What you will learn!

  • Core Design Patterns

  • Spring Advanced Features

  • Spring AOP

Core design patterns, thread local, Spring AOP
Understanding 3 Core Advanced Concepts of Spring

📢 Please check before taking the class!

  • This lecture is the 8th 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

  • 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 Current Lecture

  • 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 Advanced Edition
Core design patterns, thread local, Spring AOP

The most commonly used technique in practice
Spring Framework

To become a skilled developer, you need to have a deep understanding of the tools you frequently use in your work.
Spring is the most widely used backend technology in practice.
Therefore, it is important for backend developers to have a deep understanding of Spring.

Spring Core Principles
From basic to advanced

We learned the basics of Spring and object-oriented development in Spring Core Principles - Fundamentals .
To deeply understand Spring and become a capable developer in practice, you need to learn three key advanced concepts based on what you learned in the basics. In this Spring Core Principles - Advanced, you will learn these advanced concepts.

1. Spring Core Design Patterns
2. Thread locals to deal with concurrency issues
3. Spring AOP


Spring Core Principles
Advanced

1. Spring Core Design Patterns

Spring's internal technologies are built around several core design patterns. Therefore, in order to understand Spring in depth, you must first learn the core design patterns that Spring frequently uses.

Core design patterns taught in lectures

  • Template Method Pattern
  • Strategy Patterns
  • Template callback pattern
  • Proxy pattern
  • Decorator pattern

In this lecture, we will explain these design patterns very easily by creating example codes one by one. And we will also learn how to apply the design patterns learned in this way to applications.

2. Thread local

Spring is mainly used for developing web applications. Web applications use multi-threading to handle multiple requests at the same time. Therefore, concurrency issues can occur where multiple threads compete.

Concurrency issues and thread local content covered in the lecture

  • Web Application
  • Multithread
  • Concurrency issues

In this lecture, you will learn about concurrency issues that occur when using Spring, and also learn about the concept of thread locals that can conveniently solve concurrency issues.
Thread locals are an essential concept to understand how Spring works well in a multithreaded environment without concurrency issues.

3. Spring AOP

Spring AOP is a very useful technology that is used a lot in practice and feels like magic. Many developers use Spring AOP, but not many developers understand and use the principles of how Spring AOP works.

Beyond simply knowing and using the features of Spring AOP, you need to deeply understand the operating principles of Spring AOP to be able to solve fundamental problems when failures occur.

Spring AOP content delivered in lecture

  • Concepts, Glossary
  • Proxy - JDK dynamic proxy, CGLIB
  • How it works
  • Practical examples
  • Practical Notes

In this lecture, we will go beyond a simple summary of Spring AOP's functions and cover everything about Spring AOP, from its operating principles to practical examples and precautions that frequently arise in practice.

etc

Additionally, we will also provide you with advanced techniques for developing Spring containers, such as bean postprocessing, and various practical tips for developing Spring applications.

  • Extension points in the Spring container - empty postprocessors
  • Various practical tips for developing Spring applications

This lecture
Before you start

As this is an advanced course, the content covered in this lecture is not easy.
However , if you want to become a skilled backend developer, this is something you must study at least once .
If you follow this lecture to the end without giving up, you will experience a tremendous increase in your skills as a developer and be able to use Spring more confidently than anyone else.
Since this is a difficult subject, I have thoroughly prepared the lecture. I will help you complete this content on your own.


This lecture
I recommend this to these people

Spring deeper
I want to know…

Advanced concepts of Spring
Improve your skills by learning
Anyone who wants to grow more

Spring AOP
I do use it though…

How Spring AOP works
The principle is precise
Anyone who wants to understand

Spring to Code
I want to understand

Through design patterns
Spring's internal technology
Anyone who wants to understand

Web App with Spring
I'm thinking of making it

Via thread locals
Spring concurrency issues
Anyone who wants to understand


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 to this lecture
Lecture Roadmap

Kim Young-han's Spring Complete Conquest Series
Spring Core Principles~Practical Applications This lecture includes

Complete mastery of Spring Boot + JPA practices
The latest practical backend technology with internal strength


Recommended for
these people!

Who is this course right for?

  • Developers who want to understand Spring in depth

  • Developers who want to easily understand Spring through code

  • Developer job seeker

  • 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

  • Spring Core Principles - Basics

Hello
This is yh

507,535

Students

32,335

Reviews

8,827

Answers

5.0

Rating

22

Courses

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

More

Curriculum

All

125 lectures ∙ (16hr 44min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

700 reviews

5.0

700 reviews

  • find10864747

    Reviews 13

    Average Rating 4.6

    5

    100% enrolled

    Spring AOP Education Masterpiece. The best lecture I'm sorry to the instructor that the maximum number of stars I can give is only 5. Thank you so much for the great lecture. As a side note, if you practice following the instructor's code and then debug the internal implementation logic of SpringObjenesis, CGLIB, and JDK dynamic proxy (ProxyFactory, ObjenesisCglibAopProxy, etc.) separately, you will probably get much more out of it. Personally, I debugged the moment of initialization with ProxyFactory proxyFactory = ProxyFactory(Component without interface); and went through various procedures according to the rules until I saw with my own eyes that it uses objenesis when creating and returning a proxy object as the result value of getProxy(). If I hadn't watched the lecture, I would not have understood anything because I didn't know the outline of the workflow at all. Also, I felt that my understanding of Spring AOP greatly improved while separately looking into the process in which the AspectJAutoProxyRegistrar class related to EnableAspectJAutoProxy gets types annotated with @Aspect and uses BeanPostProcessor in the subsequent logic to register proxy objects as Spring beans instead of actual objects. I am deeply grateful that you showed me the big picture first so that I could understand the detailed operation of the actual logic.

    • yh
      Instructor

      Charlie T, thank you for listening so intently. Thanks to this review, I get the strength to prepare for the next lecture^^!

  • omg

    Reviews 205

    Average Rating 5.0

    5

    100% enrolled

    This was the first time since Supporters that I contributed to the lecture (manual) even a little bit, so it was a more meaningful advanced lecture than the previous lectures. I hope you will continue to give good lectures :)

    • yh
      Instructor

      OMG, thank you so much for always studying hard and working hard as a supporter!

  • saintbeller96

    Reviews 2

    Average Rating 5.0

    5

    33% enrolled

    It seems like Younghan's lecture is not about opening a door, but about holding the doorknob and turning it. Thank you for always showing such great lectures.

    • yh
      Instructor

      JongSeong Kim, thank you for the great analogy^^!

  • pilhwankim

    Reviews 19

    Average Rating 5.0

    5

    100% enrolled

    This time it was really long. I was so happy that I could finally understand AOP, one of the three major technologies of Spring. It was like an impregnable technology to me, like pointers in the C language. I really liked how you explained it step by step this time. I don't think there is a lecture or book that teaches AOP this easily. If you want to learn about Spring in earnest, you should definitely read it. And as a thank you to Yeonghan, I'm going to write about my Spring developer challenge. ============== When you try something new, you really need a lot of energy at first. ...(omitted)... First of all, it's really important to make a study habit. And when it comes to studying development, you have to try everything and code. You can never make it yours by just reading books and listening to lectures. I recommend that you study consistently for 3-4 hours on weekdays and 8 hours on weekends. =============== October 2020. I have been a Python developer so far, and I acknowledged that my career was at its limit and wanted to change my career to the Spring backend, so I sent an email to Younghan asking for advice. At that time, I received the above response from Younghan. It was a bit shocking, and I felt that I needed a lot of determination. In terms of years of experience, I was already at the senior level, and since I only knew a little about Java, the challenge was really difficult. I failed the interview repeatedly. I remember that when I failed the interview with Woowa Brothers early last year, I didn't study well for almost a month and a half. As Younghan said, 3-4 hours was realistically difficult, but I tried to do at least half of that. In fact, the content of this lecture was not mentioned often during the interview, but thanks to the content of the lecture that Younghan covered, I was able to develop an eye for looking at backend technology more deeply, which was the most helpful. And the fact that I had to study at a much higher standard. (I think I tried to make the derived content from the lecture my own.) My efforts worked... I went to one of the Nekaraku Cups at the end of March this year. I still feel inadequate, but I am excited and a little worried because the long 1.5 year preparation period has ended and the opportunity has been given. When COVID is over and I get used to my new position, I will go and thank you in person. Thank you, Younghan.

    • yh
      Instructor

      I sincerely congratulate you, Pil-hwan. It is easy for anyone to have momentary passion, but I think it is not easy to make it a habit and systemize it like Pil-hwan and continue it sustainably. In particular, since the language you have developed so far is not Java and you have a lot of experience, I thought it would be more disadvantageous to get a job at a good company than an average junior developer. In that sense, I can see how much effort Pil-hwan has put in, and I think it is a great achievement that you have created yourself. Also, since you have a lot of experience, you must have been asked a lot about how to actually apply it in practice rather than the basics, so I think it is good that you have acquired it beyond simply learning the lecture content to cover these areas. Since most companies are currently short of developers, I think anyone can get a job at a good company if they study and acquire the corresponding skills, as I advised Pil-hwan. Lastly, I also had difficult days when it came to getting a job and changing jobs, and I think Pil-hwan's article will be a great help to those preparing for getting a job or changing jobs. I sincerely thank you.

  • 34242344

    Reviews 41

    Average Rating 4.9

    5

    100% enrolled

    After reading Toby's Spring Chapter 6, I had a mental breakdown and put the book down for a while, but I'll have to finish this lecture and go back to reading it. (Review after completing the lecture) At first, I was overwhelmed by the size of the lecture, which was 125 lectures, but as I listened to it, I understood why the lecture size was so large. As you said at the end of the lecture, I'll try to get through more code and look at more references. Now, I'll have to go study other design patterns that I don't understand enough. I'll come back next time with a better look.^^

    • yh
      Instructor

      !? Thank you for your first class review^^ I will always support you!

yh's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

$93.50