강의

멘토링

로드맵

BEST
Programming

/

Back-end

Toby's Spring Boot - Understanding and Principles

This course will help you understand the operating principles of Spring Boot by creating the core functions of Spring Boot yourself, and learn how to learn and use Spring Boot well through this. You can learn various ways to utilize the Spring Framework used by Spring Boot.

(5.0) 372 reviews

6,703 learners

  • tobyilee
토비의스프링
Spring Boot
Spring
spring-jdbc

Reviews from Early Learners

What you will learn!

  • How Spring Boot Works

  • How to understand and leverage the technologies and configurations provided by Spring Boot

  • Core technologies and usage of Spring Framework

  • How to create your own Spring Boot module

Creating a framework with my own hands
Get the basics of Spring Boot straight! 🌱

Toby's Spring Boot

Spring Boot core features and operating principles

Spring Boot is a tool that helps you develop Spring applications quickly and easily. It allows you to start developing Spring applications very quickly and conveniently, and it handles a lot of the work behind the scenes, almost like magic.

Spring Boot has become the de facto standard for building applications using the Spring Framework. However, without understanding the underlying principles behind its convenience, you'll encounter various limitations and barriers. To grow your application, incorporate more technologies, and adapt to your specific needs, you need to understand how Spring Boot supports Spring development.

Have you ever had these concerns? 🤔

I'm developing an API server or backend service with Spring Boot, but I'm not sure if I understand and use Spring properly .

I'm confused because the system functionality created with Spring Boot has changed after applying a tip I found through the community or search.

I was developing only with the Spring Framework, but then I switched to Spring Boot, and it seems like the Spring utilization methods I knew have become useless .

I don't really understand what the difference is between Spring and Spring Boot, and what Spring Boot is all about .

I want to add a new technology to Spring Boot or change how it is used , but I am not sure how to do it correctly.

I want to create my own technology or feature module that can be applied automatically like Spring Boot.

In this course, you'll learn the core operating principles of Spring Boot, essential for learning and utilizing it effectively. You'll be able to fully understand and utilize Spring Boot through the following three steps.

1) Understand how Spring Boot works

Understanding how Spring Boot works will help you learn and apply new technologies quickly and accurately, as you'll gain a consistent approach across its many technologies. This will eliminate the need to resort to searching for fragmented solutions every time. By mastering the consistent approach and application methods used across various Spring Boot technologies, you'll be able to accurately analyze problems and find solutions.

2) Building Spring Boot with my own hands

The best way to understand how Spring Boot works is to build one yourself. Spring Boot is also an excellent example for learning how to use the Spring Framework. By building one yourself, you can reflect on the origins of Spring Boot, its goals, and how the Spring Framework was developed. By building simple yet essential code yourself, you can gain a wealth of knowledge about Spring and backend Java development. By learning how Spring Boot was built, you can create your own Spring Boot modules or even create convenient tools that apply Spring technology.

3) Understand how Spring Boot leverages the Spring Framework.

Understanding how Spring Boot works will help you understand how it leverages the Spring Framework. You'll also be able to delve deeper into the various features of Spring Boot.

  • You can directly apply the Spring Framework's usage to application development.
  • You will be able to handle the Spring Framework well, like Spring Boot.
  • I can also modularize the code I created in Spring Boot style for convenient reuse.

I recommend this to these people 🙋

Anyone who uses Spring Boot in practice

Those who want to know and utilize Spring and Spring Boot better

For those considering switching from Spring to Spring Boot

Those who want to learn Spring Boot more effectively

Join Spring Guru, Toby! 🤗

  • If you have basic knowledge of the Java language and experience creating a Hello World-level server with Spring Boot, you can get started.
  • We'll explain in detail the Java web development technologies that appear at each stage of development, the core principles of the Spring Framework, and how to use Spring technology.
  • We'll help you analyze Spring Boot's configuration and use it correctly by creating code that embodies the core operating principles of Spring Boot.
  • You will get to know the Spring Framework better.

What you'll learn 📚

1. Taking a look at Spring Boot

We'll explore the reasons for Spring Boot's creation, its features, and its goals. We'll explain what it means for Spring Boot to be containerless, what it means to be opinionated, and why understanding Spring Boot is crucial. We'll also delve into the potentially confusing concept of containers.

2. Standalone applications

Let's explore how standalone applications, a key feature of Spring Boot, are possible by creating standalone servlet applications and standalone Spring applications. Through this, we'll also learn how Spring web technology is built and how the Spring container is used in the process.

3. Dependency Injection

When talking about Spring, you can't leave out DI. We'll explore the concept of DI, how Spring supports it, and how it applies to testing. We'll use the Spring container to apply DI to our code. We'll also explore decorators and proxy implementations using DI.






4. Auto-configuration-based applications

This course explores the types of Spring configuration metadata and explains how Spring Boot handles them. It explores the auto-configuration introduced by Spring Boot and the user configuration created by developers. This course will help you understand the structure of applications developed with Spring Boot. Through actual development, you'll demonstrate how Spring Boot's auto-configuration leverages various Spring technologies. You'll also learn how to utilize various Spring annotations utilized by Spring Boot.

5. Conditional automatic configuration

We'll explore how Spring Boot leverages Spring's @Conditional conditional bean registration technology for auto-configuration. You'll experience firsthand how application configuration information changes by varying conditions. We'll also explore how directly adding bean configurations to Spring Boot affects auto-configuration.




6. Automatic configuration using external settings

Spring Boot's convenient auto-configuration doesn't limit development in a rigid, one-sided way. We'll explore how to leverage external configuration to easily and flexibly customize the technologies Spring Boot provides through hands-on implementation. We'll also explore Spring's Environment abstraction, property source precedence, and the use of placeholders. We'll also explore how the numerous properties listed in application.properties are linked to auto-configured beans and how they are grouped.

7. Spring JDBC Auto-Configuration Development

You'll design and implement autoconfiguration for Spring JDBC technology yourself. This will teach you strategies for understanding the structure of autoconfiguration applied in Spring Boot. You'll learn how to design with multiple options, similar to Spring Boot, and experience how autoconfiguration applies appropriate features based on conditions, all while creating actual code.



8. A Closer Look at Spring Boot

You'll see that even if you convert the Spring Boot-like code you've been developing directly to Spring Boot, your application code will still behave the same. Now, you'll have a clearer picture of what's happening underneath the surface when developing with Spring Boot. You'll learn how to analyze Spring Boot's extensive auto-configuration without getting overwhelmed. You'll also analyze the auto-configuration code found in Spring Boot Core, Spring Web, and JDBC.


Things to note before taking the course 📢

Practice environment

  • Operating System and Version (OS) : You will need a desktop operating system that supports Java technology, such as Windows, Mac, or Linux.
  • Tools to use: You will need to install JDK 11 version and an IDE, which is a development environment that allows you to develop and run Java projects.
    • The course uses IntelliJ IDEA Ultimate version.
    • You can use the free IntelliJ IDEA Community version or STS (SpringSource Tool Suite).

Learning Materials

  • You can access example code on GitHub. Each lesson step is committed, so you can check out and explore any section you want.
  • You can download the 130-page slides used in the lecture as a PDF file.
  • Lecture notes, including brief explanations of the content covered in each class and reference materials, are provided in PDF format for each section. These notes may be continuously updated.

Player Knowledge and Precautions

  • You need sufficient knowledge of the Java language to understand code written in it. Familiarize yourself with Java 5 annotations, anonymous classes, and Java 8 lambda expressions and streams .
  • If you're curious about the overall flow, you can watch the entire video without following the examples. Afterward, I recommend going back and following the examples step by step, improving or adapting the code yourself.
  • We will update the video with information on how to upgrade the example to Spring Boot 3.0.
  • If there is any part that needs further explanation, related videos will also be added.

Expected Questions Q&A 💬

Q. Why do I need to understand how Spring Boot works?

You don't need to understand the workings of every technology you use, but understanding how Spring Boot works will help you use it more effectively. Spring Boot handles many tasks automatically and behind the scenes, so understanding this will allow you to leverage its features without missing anything. You can also extend it to perform the tasks your application requires. Learning how to utilize the Spring Framework embedded in Spring Boot will also help you develop Spring-based applications.

Q. I don't know much about the Spring Framework. Can I still take the course?

This course introduces the Spring Framework technology used by Spring Boot and also explains core Spring concepts. It covers the Spring container's operation, dependency injection, and applicable design patterns. Of course, after completing this course, it's recommended to delve deeper into the Spring Framework's technology and operating principles if you're interested.

Q. The course uses Spring Boot 2.7. Will it be helpful when using the recently released 3.0?

All examples presented in this lecture will work with Spring Boot 3.0, with only minor changes to the library version and some package names. The lecture also covers how to migrate examples to Spring Boot 3.0.


Introducing the Knowledge Sharer ✒️

History

  • I have 30 years of experience in practical development and 20 years of experience in Spring Framework development.
  • We have developed various systems and services in the manufacturing, logistics, finance, mobile communications, commerce, education, and service domains.
  • Author of Toby's Spring 3.0 and 3.1 books.
  • I founded the Korean 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 Spring Boot and use it freely

  • If you are using Spring Boot but feel like you don't know much about Spring,

  • Anyone who wants to learn Spring Boot effectively

  • Anyone who wants to create and use their own Spring Boot module

Need to know before starting?

  • Java language (Java 8+)

Hello
This is

14,443

Learners

858

Reviews

394

Answers

5.0

Rating

8

Courses

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

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

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

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

 

 

Curriculum

All

68 lectures ∙ (11hr 6min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

372 reviews

5.0

372 reviews

  • sooragenius6352님의 프로필 이미지
    sooragenius6352

    Reviews 3

    Average Rating 5.0

    5

    96% enrolled

    Hello. I am a developer with over 7 years of practical experience in Spring. After taking the course, I would like to tell you the conclusion I felt. Just like Toby's Spring book, I hope many developers will take this course. While studying Spring, I came across Toby's Spring and naturally got to know Toby. When I tried to read Toby's Spring book, developers around me said, "Read Toby's Spring later when you have more experience." Of course, I thought there must be a reason why senior developers around me said that, and I ended up reading Toby's book late. In addition to the technical content explained in any book, I received insight on how developers can solve problems they encounter while developing, and after reading the entire book, I was left with regret thinking, "If I had read the book a little earlier, wouldn't I have grown into a better developer?" Toby's Spring Boot covers the technical aspects just like the book, but it also includes the basic principles of the web, which lowers the entry barrier for beginners, and I thought the lecture structure was really delicate. The process of presenting a problem, solving the problem, refactoring, and confirming that there are no problems through test code was very impressive, and when I had questions during the lecture, I thought, "Is he watching me on CCTV?" He answered those questions just like that. The process of gradually removing "my" and converting it to Spring Boot while creating my own Spring Boot was amazing. I thought that the more "my" disappeared, the more Spring Boot became mine. Lastly, when I encountered a problem while developing, I did a little deep dive to check the logic after figuring out how the dependencies between beans were linked to confirm the operation. At this time, to find out the dependency, you check by setting a Break-Point, but instead of that method, you showed us how to check which Bean was uploaded, so I think you showed us a way for other developers to easily deep dive. After reading Toby's Spring, I always wondered when the next book would come out, and it was great to meet Toby through the lecture! The good voice and tone, and the detailed explanation that made it easy to absorb were really the best. I recommend the lecture to beginner developers around me, and I'm really looking forward to the next lecture! Thank you :D

    • tobyilee
      Instructor

      Thank you for your detailed course review.

  • evanhwang님의 프로필 이미지
    evanhwang

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    I am a current employee who first encountered Spring with Spring Boot. I had no problem using Spring Boot as a tool. However, I always had an itch about why Spring Boot came out and how it developed. This lecture is a great lecture that scratches those itchy parts very thoroughly. Thank you, Tobi, for scratching the itchy parts so easily. 👍 (The part where MyXXX annotations are changed to Spring Boot annotations was really scary. 🥶)

    • tobyilee
      Instructor

      I am glad that your usual curiosity has been resolved and that it has helped you use Boot. Now that you understand how to solve problems like Boot, it would be even better if you could apply it well. Thank you.

  • omg님의 프로필 이미지
    omg

    Reviews 205

    Average Rating 5.0

    5

    100% enrolled

    I know it took a long time for the lecture to come out. Now that you've started the first lecture, I hope you'll continue to give good lectures :)

    • tobyilee
      Instructor

      I would like to share many stories that I have shared with developers and colleagues around me in a lecture format. Please look forward to it. Thank you.

  • mdir2kor1148님의 프로필 이미지
    mdir2kor1148

    Reviews 3

    Average Rating 3.3

    5

    100% enrolled

    It was a good time to understand how things that make Spring Boot magically convenient actually work by making them myself, and I think the learning tests that were conducted during the process were really good. Personally, it was good to learn the core principles and concepts of Spring Boot overall, but 1. Create a simple solution and then refactor it in a slightly better way 2. Refactor and check whether the results before and after are the same through tests 3. At first, I checked the results by running it myself, but as it became more complicated and repetitive, I changed it to an automated test This method was more interesting and I learned a lot. I'm looking forward to the next lecture! :)

    • tobyilee
      Instructor

      I hope you will solve the problems step by step in the same way in real life. If you have doubts, try writing a test. Thank you.

  • shyoon991님의 프로필 이미지
    shyoon991

    Reviews 66

    Average Rating 5.0

    5

    100% enrolled

    Thank you for the great lecture. I got used to the convenience that Spring Boot provides, so I neglected the actual operating principles and concepts. Thanks to Tobi, I was able to fill in my shortcomings and it was a good stimulus. Thank you. I will also wait for Spring 6.

    • tobyilee
      Instructor

      If you understand how Spring Boot works, you can enjoy the convenience it provides more. I will prepare hard for the next Spring lecture. Thank you.

$77.00

tobyilee's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!