강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Toby's Spring 6 - Understanding and Principles

By looking at the process of creating the Spring Framework, we will find out the principles that will help you understand and use Spring well. Through this, we will also look at how the code of the application written by the developer should be created.

(5.0) 220 reviews

3,412 learners

  • tobyilee
토비의스프링
스프링_원리
저자 직강
Java
Spring

Reviews from Early Learners

What you will gain after the course

  • Core principles of Spring technology

  • Object-oriented design principles and design patterns

  • How to verify code using tests

  • Continuous improvement of code through refactoring

  • Dependency injection, templates, exceptions, service abstraction

The return of the Spring Guru!
Toby's Spring 6 is back after 14 years!

The long-beloved , which was published long ago and received love from many developers, has returned after 14 years!

This course contains the core content covered in the book , restructured to align with Spring 6 and the latest Java versions. You can gain an in-depth experience with the latest Spring framework, particularly through example code that incorporates recently popular approaches and technologies.


Are you perhaps having these kinds of concerns? 🤔

✅ Since Spring provides such a vast and diverse range of technologies, I end up investing a lot of time learning how to use the necessary features each time.

✅ While it's good that Spring provides various options as a flexible framework, considering many things to find the optimal approach can be burdensome.

✅ I want to easily verify that Spring Framework features are working properly, or develop the ability to respond quickly and accurately to unexpected issues.


Why you need to learn
how it works rather than just how to use it

Spring is a flexible and highly scalable framework. It's important to select the necessary technologies and Spring features based on the characteristics of the application you're developing, and sometimes you may need to extend the functionality that Spring provides to fit your application. While Spring Boot certainly helps you get started with development easily, to use Spring more effectively, it's very advantageous to understand the operating principles and development concepts of the technologies that Spring provides.

More importantly, Spring originated from a book that explained best practices and flexible development principles for Java enterprise and server development. In other words, Spring is inherently a framework developed with consideration for object-oriented design principles and patterns, as well as excellent development practices. For this reason, applying Spring's fundamental principles to application code that uses Spring is a natural approach, and this is exactly why we must learn from Spring's fundamental principles.

Developing the Power of Thinking
to Become a Good Spring Developer

The course is structured to help you understand refactoringthrough the process of creating good code and Spring principles.

Although it's a simple example, please pay attention to the changes in the code covered in the lecture. What questions are asked about the current code, what issues are raised, and what attempts are made. You can examine what effects the refactored code provides and how Spring itself applied these changes.

Additionally, I believe that the Spring principles and patterns you learn through the process of refining and improving your code will resonate more deeply with you as students. I hope this course will be a time for you to gain insights into what is expected of Spring developers and what kind of code is anticipated.

Learning Content 📚

The course explains key principles that will help you learn and understand Spring's vast technology more effectively, and also covers how to apply these same principles within the applications we develop.


Objects and Dependencies

Spring is a framework that helps create code that can faithfully apply object-oriented design and implementation, development principles, and design patterns using Java to achieve their benefits.

We examine the most essential Dependency Injection and the operating principles of the Spring container that supports it through the process of writing object-oriented code.

We'll explore what Spring's most basic and important feature is, and learn how to write application code to make good use of it by improving example code.


Test

If you're not going to write tests, why use Spring? While Spring offers many features and benefits, the biggest advantage Spring provides is making it easy and convenient to write tests for the code you develop, and enabling configurations that allow you to easily test targets that are difficult to test.

Learn about various methods for writing tests for application code, and explore how to test code that uses APIs, difficult-to-control time-based tests, and more.

We also cover useful learning tests when acquiring skills.


Template

The flexibility of object dependencies can also be experienced by utilizing various templates provided by Spring. We'll create templates and callbacks with excellent reusability and extensibility by combining design patterns with the Spring container, and also examine templates applied in Spring.

You can learn how to make complex and repetitive code with fixed workflows concise using templates.


Exception

First, I'll explain the types of exception handling code, their problems, and the basic principles that should be followed. We'll explore Spring's exception handling approach that deals with examples occurring in code that uses DB data access functionality, create JPA code, and see how Spring's DataAccessException works.

We create a systematic exception structure and explain appropriate exception handling methods.


Service Abstraction

First, let's examine the types and characteristics of services.

We'll explore Spring's service abstraction, which prevents application service code from depending on specific technologies when using infrastructure services that provide technology, through the example of transactions.

It explains abstracted code that is not tied to specific technologies, but also describes an effective method of using proxies to separate technical code that appears alongside business logic.


Spring Learning Methods

To understand the basic principles of Spring and apply them, you need to learn various ways to configure applications with the Spring framework and be able to effectively utilize the libraries that Spring provides.

This explains the basic strategy for learning Spring technology and the types of technologies you need to learn.


Pre-enrollment Reference Information

Practice Environment

  • Operating System and Version (OS): You need a desktop operating system that supports Java technology, such as Windows, Mac, or Linux.

  • Tools Used: You need to install JDK 17 or JDK 21 version and have an IDE development environment that can develop and run Java projects.

    • The course uses IntelliJ IDEA Ultimate version.

    • You can use either IntelliJ IDEA Ultimate version or Community version for the example exercises.

    • You can use Java IDEs such as Eclipse or STS, but we strongly recommend using IntelliJ IDEA.

Learning Materials

  • You can get the example code from GitHub. Each lesson step is committed, so you can check out and examine the parts you want.

  • You can download the slides used in the lecture as a PDF file containing 230 pages of slides.

  • We provide lecture notes in PDF format that contain reference materials for the content explained in each class. The reference material lecture notes will be continuously updated based on students' questions and feedback.

Prerequisites and Precautions

  • You need sufficient language knowledge to understand code written in Java. At minimum, please familiarize yourself with Java 5 annotations, anonymous classes, and Java 8 lambda expressions. Grammar and Java class library usage added in later Java versions will be briefly explained in the lectures. It would be helpful to learn the syntax added up to Java 17 or 21 versions.

  • If you're curious about the overall flow, you can watch all the videos first without following along with the examples. After that, I recommend going through the examples step by step again, and then trying to improve or apply the code on your own.


  • If there are any parts that need additional explanation, I plan to add related videos.

Expected Questions Q&A

Q. I have Toby's Spring 3 or 3.1 book. Should I read the book first and then watch the lectures? Or would it be better to learn in the opposite order? If I watch the lectures, do I not necessarily need to read the book?

If you haven't purchased the book yet or haven't started studying, I recommend watching the lectures first. The example code is written using methods and technologies that are widely used recently, so it's easier to understand than reading books published long ago (2010-2021). Also, since the lectures focus on explaining essential content in a concise manner, it's better to watch the lectures first.

After thoroughly studying the lecture content, it would also be good to read Toby's Spring book. The book contains much more detailed content and explanations. Even if not the second volume which contains detailed technical explanations, the first volume has many parts that would be helpful to read again while remembering the lecture content. However, if you have many other things to study, you don't necessarily need to read the book. Still, purchasing the book for reference wouldn't be a bad idea. 😄

Knowledge Sharer Introduction

Career History

  • Having worked in Korea and the United States, I am currently working as a consultant and developer in Australia.

  • I have 31 years of practical development experience and 21 years of Spring Framework development experience.

  • I have developed various systems and services across manufacturing, logistics, finance, mobile telecommunications, commerce, education, and service domains.

  • I authored the Toby's Spring 3.0 and 3.1 books.

  • I established the Korea Spring User Group (KSUG) and have been active in the developer community for a long time.


Recommended for
these people

Who is this course right for?

  • For those who want to better understand and utilize Spring

  • People who are using Spring in practice

  • Anyone who wants to learn flexible and scalable development methods

Need to know before starting?

  • Java language

  • Understanding Web API and DB Programming

Hello
This is

15,514

Learners

965

Reviews

410

Answers

5.0

Rating

8

Courses

호주에 살고 있는 소프트웨어 개발자입니다. 30년간 다양한 분야의 시스템과 서비스를 개발해본 경험이 있습니다. 

스프링 프레임워크와 관련 기술을 좋아하고 JVM 기반 언어를 주로 사용합니다.

한국스프링사용자모임(KSUG)을 설립하고 활동했고, 토비의 스프링이라는 책을 쓰기도 했습니다.

개발과 관련된 다양한 주제에 관해 이야기하는 것을 좋아합니다. 

 

 

Curriculum

All

58 lectures ∙ (12hr 27min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

220 reviews

5.0

220 reviews

  • parksangdonews님의 프로필 이미지
    parksangdonews

    Reviews 17

    Average Rating 4.8

    5

    100% enrolled

    It is plain. There is absolutely no online lecture tone full of modifiers and empty words to extend the lecture time. It is plain and thick, compressed, filled, and organized through several rehearsals. It is clearly different in intensity from other lectures that jump around to see quickly. I think most students will feel the most when they watch the lecture that there are no gaps in the lecture flow. The explanation of Spring did not start until the end. However, after listening to it all, I learned the core of how Spring works through the beginner's guide to the development ecosystem. The target audience includes everyone from beginners to intermediate and above. There are cries of "Beginner!!" and exclamations of "This kind of content??". Starting with a very simple example, it explains classes and objects, and shows the journey to find a more convenient and sophisticated method through relationships. At some point, the concerns that started in order to respond to change lead to design patterns. I shed tears over the past time when I opened the design pattern book and memorized many patterns in front of me. Rather, I can think about which patterns to use for changes. By the time we reach the entrance of the design pattern... Spring proves that it is a framework that easily supports DI by organizing the dependency inversion principle. Just like... students memorize K Ca Na Mg Al Zn Fe Ni Sn Pb H Cu Hg Ag Pt Au or memorize Taejeong Taese Mundan Se Yeseong Yeon Jung In Myeong Seong Gwang In Hyo Hyeon Sook Gyeong Gyeong Jeong Sun Heon Cheol Go Sun Eun (Joseon King's posthumous name), they memorize SOLID with a development book. Likewise, since I memorized it as if I was memorizing it for a test, there was no reason not to understand the content that I didn't understand as the code change process that directly creates the necessary function. Let's exclaim in admiration. As a developer, you need to conduct tests to quickly draw your own code and increase reliability, but this lecture shows you the reason and method of testing for 2 hours, and when you are tired of watching lectures that are full of content that can only be found in manuals under the title of TDD, this lecture shows you just what you need. Rather than talking about the meaning of test code and what is the real test code, the test part is concluded with the line that how to execute the test and how to verify what is more important. The necessity of code reuse cannot be overstated, but it shows which code should be reused and how to distinguish the parts that need to be changed, and the process of creating this as a template. At this time, you can naturally see the concept of callback with your eyes, and it shows how all of this process is completed in Spring. I was curious because it was not a lecture for beginners, but it explained exceptions, and it added a request to the request, explaining the precautions for exception handling, and at the end, it shows the concept and entity of abstraction, and various abstracted functions in Spring. And it concludes that these are actually the sum of the technologies that encompass the concepts learned so far. It was a lecture that showed the intention to put almost everything a developer needs to know into the title of the Spring lecture, approaching it through the beginner's course, and even if functions are added, it eventually covers objects and relationships, patterns and templates, and securing reliability based on tests, and even abstraction to escape dependencies. This is a great lecture that you should carry around with you and recommend to your loved ones as a gift. Let's do some Infraon work~~ There should be a function that allows you to send gifts if you know the email address of the other person's Infraon account!!!! I would like to thank Tobi, who refused to pay a high price for a lecture that only a few people can attend and created a book of martial arts secrets for all developers at Infraon for over 2 years, and I will end this review.. . Everyone!! Run here!!! # I could have been 1st... Everyone who left a review without taking the class 100% is cheating.. Bad!! # Even if you watch just one lecture clip from the domain section, the perfect build-up is enough to cover the entire cost of this lecture. You will regret not watching the other lecture clips. Hwa-ryong-jeom-jeong

    • tobyilee
      Instructor

      I am touched because this is my first 100% course review. Thank you for your positive review. However, you can write the course review freely whenever you want. :) I also thought it would be nice to have a lecture gifting function on Infraon, but it's a shame that it doesn't exist!!

    • Hello. This is Inflearn! Wish to share good courses? Now, with Inflearn's Course Gifting feature, you can gift them directly! May the warm feelings from reviews foster growth for friends, colleagues, and those around you. 🎁 Course Gifting Notice > https://www.inflearn.com/notices/1649873 Thank you.

  • choicore님의 프로필 이미지
    choicore

    Reviews 2

    Average Rating 5.0

    5

    59% enrolled

    It's the advance team. I have Toby's Spring book at my office and at home. It's been 14 years since the book came out, but it's still a great help in understanding the working principles of Spring and the abstractions it provides. I started watching it as soon as the lecture was released, but I was so obsessed that I kept clicking on the next lecture button and it was time to go to bed. There's a process of presenting problems in a situation where functional requirements are satisfied through example code, and transforming it into changeable code by applying design patterns and design principles. It was easy to understand and I was able to take the class with great immersion. I recommend that you look up the keywords that are thrown out here and there instead of just skipping them. Although Spring has been developing for over 20 years, I can feel the greatness of object-oriented design in that its underlying technology is still solid. In the book and in this lecture, Toby seems to be teaching us how to catch fish. I love Toby.

    • tobyilee
      Instructor

      I am also very impressed by the fact that the foundation that Spring has maintained without change and the principles reflected in it have remained unchanged for quite some time. Thank you for your first review.

    • zin
      Instructor

      How is the status of the advance team? ㅎㅎ I'm also curious about the review after completing the course!

    • Ah! I finished the course right after writing the course review, so I'm leaving a completion review. I felt that you prepared a lot throughout the course to make it smooth. It was fun to think about how you would solve it by presenting a problem that wasn't forced and solving it step by step from the bottom up. Wouldn't you do it like this? While thinking about this, I checked if Toby's thoughts and the direction I wanted to solve it overlapped(?). I usually think that I should be careful about codes that I don't know or parts that become objects of envy for designs. Thanks to Toby's knowledge transfer, I think I'm building up the basis for being able to receive information with discrimination in the sea of information. It was fun and informative. Thank you. I love you. P.S. I wanted to go to Infcon this year, but ㅜㅜ I failed Infcon. It's a regret of a lifetime.

  • hyunwookim11085590님의 프로필 이미지
    hyunwookim11085590

    Reviews 4

    Average Rating 5.0

    5

    31% enrolled

    First of all, the video lectures were so engaging that I, who has ADHD, watched 30% of them in one day. Even concepts that seem somewhat abstract to junior developers, such as SOLID principles and object-oriented, were explained in an easy-to-understand manner with examples, which reminded me of a mother bird. In this lecture, I felt that the maestros who definitely knew the truth had concise and simple sentences. It felt like eating a well-prepared Korean meal. I felt the same way when I listened to Object's Cho Young-ho's offline lecture, but Toby's lectures were so natural and logical that I felt like he had prepared a script. Of course, I don't think there is a royal road to learning development. However, with this level of compass, I don't think I'll get lost. Also, the way he explains complex concepts in an easy-to-understand manner was a great help in my studies. Through this lecture, I was able to approach difficult concepts with confidence. And as a side note, this is something I didn't expect because I only read books, but Toby's voice had the power to increase concentration and immerse me. I really liked his calm yet powerful voice.

    • tobyilee
      Instructor

      I'm curious to know what you liked. Thank you for your positive review. I look forward to seeing you working as a great developer who makes good use of Spring.

    • tobyilee
      Instructor

      Thank you for writing a detailed course review.

  • modelso9312님의 프로필 이미지
    modelso9312

    Reviews 1

    Average Rating 5.0

    5

    34% enrolled

    I haven't listened to the whole thing yet, but from what I've heard so far, I think he explains it better than the first-time college entrance exam instructor, so I'm leaving a review in a hurry. I think he would have been a first-time college entrance exam instructor if Spring had been a college entrance exam subject, because he explains things that were only explained in writing, so that anyone can understand the principles of operation. I think he's accurately DI (instilling understanding without trying to understand) in my head to that extent. After watching this lecture, I'm going to read Spring 3.1 carefully. I've been putting it off because I hate stiff writing, but I think I want to study properly this time. ㅎㅎ I'm always grateful. If I can edit my review, I'll read it all and add a review. I hope you stay healthy and create more great lectures.

    • tobyilee
      Instructor

      Thank you for saying that you understood it well. I hope the remaining content was helpful. Although the book is large, I tried to explain it as kindly as possible. There are some things I wanted to explain more but couldn't because of the limited time in the lecture, but I tried to include more explanations in the book, so if you have time, I recommend reading at least one volume.

    • 100% course review Even after I filled 100% of the lectures, I still thought it was a good idea to listen to the lectures. While listening to the lectures, I felt that it was not like eating a meal because they prepared the food and told me to eat it, but that I needed these ingredients, how to cook it, and if I combined them and ate it, I could make a delicious dish. I started out with development and only maintained a legacy project, but through the lectures at Inflearn, I got to know Toby and I think I was able to get one step closer to Spring. I would like to thank you again for making it so clear that I couldn't understand it just by reading articles floating around on the Internet. I hope you make many other lectures. After reading all of the book, I'm going to read the Spring reference once, and then listen to the lectures again to review them. If that happens, I'll try to leave my thoughts in a reply. Additionally, if I win Infcon and can meet you in person this time, it would be really great. !! Thank you for the great lecture.

  • daejoon님의 프로필 이미지
    daejoon

    Reviews 58

    Average Rating 4.9

    5

    100% enrolled

    Thank you for helping me become a better developer. I am still reading the hardcover edition of 'Toby's Spring 3.0'. When I first read it, I skipped over chapters 1 to 8 and only looked at the practical parts. However, as time passed, I ended up looking at the first part, chapters 1 to 8, again. The lecture focused on the first part, and explained the principles while excluding the difficult parts of Spring implementation as much as possible. Toby's unique build-up method of explaining the principles was still effective. Here are some things I didn't feel through the book, but I felt through the lecture: - The need to separate codes according to the reason and timing of change - A good habit of Opening and Closing at the same time when writing code that requires resource release - How to use IntelliSense with camel case in IntelliJ IDEA - How to use the TimeUnit class to conveniently use Thread.sleep - How to reduce dependencies by separating packages based on DIP (Dependency Inversion Principle) - How to control the environment using Clock.fixed - Double bracket technique that can be conveniently used when configuring Spring Configuration In fact, the things I learned listed above are additional parts, and while watching the lecture, I kept thinking about 'how to create a structure that is easy to maintain'. These parts were not completely resolved even after watching the lecture, but since it gave me some direction, I will think harder in the future. Thank you. Lastly, I felt that the condition was different for each lecture. Stay healthy. Once again, thank you for helping me become a better developer.

    • tobyilee
      Instructor

      You've been reading from the first book. I'm glad it was helpful. Thank you for your kind review.

Limited time deal ends in 8 days

$84,700.00

30%

$93.50

tobyilee's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!