Practical! Spring Data JPA
Spring Data JPA goes beyond the limitations of the past and allows you to complete development with just an interface, without implementing classes in the repository, as if by magic. It also provides all the basic CRUD functions that have been developed repeatedly. We will share practical know-how on Spring Data JPA.

News about the upcoming Spring Boot lecture!
Hello everyone^^!
Finally, the Spring Boot course is ready to open. Thank you very much for waiting and supporting us for a long time.
The release date is Monday, February 27th.
* Title: Spring Boot - Core Principles and Utilization
* Release date: Monday, February 27th
* Number of lectures: 104
* Lecture materials: PDF 362 pages
* Lecture time: 15 hours 45 minutes
Spring Complete Conquest Roadmap 3 Years of Completion
This Spring Boot lecture will be the last to complete the Spring Complete Conquest Roadmap. Looking back, it took a long time of three years to complete this roadmap, starting from January 2020.
For three long years, many developers have left heartfelt reviews. People who studied hard with this roadmap and succeeded in getting a job, people who moved to the company they wanted to go to, people who discovered the joy of backend development and grew as developers, etc. Thanks to the heartfelt reviews of many people, I was able to complete the Spring roadmap without giving up. I would like to express my sincere gratitude to all the developers who shared their hearts.
This Spring Boot lecture is the last on the roadmap, so I prepared it as best as I could.
All the Spring Boot you need for practical work will be covered in this one lecture.
Spring Roadmap: https://www.inflearn.com/roadmaps/373
Introduction to the course
Growth of the Spring Framework
The Spring Framework is a huge technology that has evolved over the past 20 years.
It solves most of the technical problems that occur in practice and provides high stability and flexibility. That's why most major companies that use Java use Spring. Spring is the de facto standard technology used in the Java camp.
The huge and inconvenient Spring Framework
However, the Spring Framework has so many features and is so extensive that it can be overwhelming to know where to start.
Also, because it provides so much flexibility, it is difficult to choose which technologies to use together. As features increase, more and more configurations start to be required. So many developers start to feel that Spring is heavy and inconvenient.
Spring Boot - The Complete Spring Technology
Spring Boot emerged to solve this problem.
Spring Boot, as its name suggests, starts from Boot. Spring Boot is a technology that helps you get started with Spring very easily and conveniently. And it provides developers with numerous convenient functions. With the advent of Spring Boot, Spring, which used to feel huge and inconvenient, has become very easy and convenient to start with. Now, most projects that proceed with Spring require Spring Boot. Spring technology has finally been completed with the advent of Spring Boot .
Five key features provided by Spring Boot
Spring Boot provides the following five core features to help you use the Spring Framework conveniently. We will also focus on these five core features in the lecture.
Embedded server: Easily develop and deploy web applications without installing a separate server
Automatic library management: Automatically selects and manages a large number of libraries based on best practices, making it easy and quick to start your projects.
* Auto-configuration: Automates complex Spring configurations so developers can develop applications quickly and easily.
* External settings: Conveniently check external settings required when using an application in different environments, such as development and operating environments.
* Monitoring and management functions: Provides functions to automatically collect, monitor, and manage numerous indicators of the application.
Course Objectives
All the Spring Boot you need for practical work will be covered in this one lecture.
Spring Boot is very convenient, but it provides too many functions. So you shouldn't learn it broadly, and if you go too deep, it won't be of much help in practice. So I prepared the lecture so that you can naturally understand the core principles and frequently used functions that are important in practice through example code. I boldly excluded functions that are not very important or are not frequently used in practice. And I also included an effective monitoring method using Spring Boot that many people are curious about.
Natural understanding through example code
You can naturally understand the magical principles of Spring Boot through example code. This course starts from the time when there was no Boot. Then, as Boot is gradually introduced, you can naturally understand the core concepts and strengths of Boot through code.
We teach you Spring Boot, which is necessary in practice, through example codes rather than complex theories, so that you can understand it naturally and learn practical best practices.
caution!
Spring Boot is a technology that helps you use the Spring Framework conveniently. Therefore, it is more important to learn the Spring Framework first. This lecture focuses on the functions of Spring Boot itself rather than on creating applications with Spring. And it is assumed that you have experience learning Spring. If you are not yet familiar with Spring or want to learn Spring from scratch -> Please refer to Kim Young-han's Spring Complete Conquest Roadmap.
Coverage
Introduction to Spring Boot
Spring Framework vs Spring Boot
This article introduces why Spring Boot was created and what Spring Boot is all about.
Spring Boot and Web Server
Going back a long time ago, I will explain step by step how to install a web server like Tomcat directly and build a web application as a WAR file and deploy it, and how to use a web server conveniently with a single JAR file using Spring Boot and embedded Tomcat like now. You will understand why it has developed this way, and in the process, you will naturally understand the principles of how the embedded server included in Spring Boot works.
Spring Boot Starters and Library Management
Learn about the challenges of manually selecting and managing multiple libraries, how Spring Boot addresses these challenges, and learn about the Spring Boot starter libraries.
Auto Configuration
Spring Boot automates a lot of features, the most representative of which is Auto Configuration.
Thanks to this feature, developers do not have to register a large number of Spring beans directly. However, if you do not understand the principle of automatic configuration, it is difficult to solve the fundamental problem when a problem occurs while using Spring Boot.
In this lecture, you can easily understand the principle of automatic configuration, which is a core feature of Spring Boot, through examples. And you will also learn how to create and provide such automatic configuration yourself.
External settings and profiles
We start with how to use external configuration directly without Spring Boot. For example, we will learn how to use OS environment variables, Java system properties, and command line arguments directly. Then, we will learn about the problems that occur when using external configuration directly, and how Spring Boot solves these problems step by step. Furthermore, we will learn the reason for the appearance and usage of Environment , @Value , and @ConfigurationProperties through examples.
Spring Boot Actuator
To operate a service in a real operating environment, monitoring the application is very important beyond just functional requirements. Learn about the various functions and monitoring features provided by Spring Boot Actuator.
Monitoring with Micrometer, Prometheus, and Grafana
There is a saying that goes, "A commander who fails in battle can be forgiven, but a commander who fails on the border cannot be forgiven." When we apply this to developers who run services, it means that failures can occur at any time, but monitoring must be done well.
We will explain how to build a monitoring environment using Prometheus and Grafana, monitoring tools that are widely used in recent practice. We will also learn how to identify problems through monitoring tools while increasing actual CPU, memory, and DB connection usage in the monitoring environment built in this way.
Utilize monitoring
We will explain how to embed the necessary indicators for monitoring directly into the application and check them through the monitoring dashboard. We will also learn how to measure the number of calls, average execution time, and maximum execution time of the business logic you want to track with a single annotation using a convenient tool called Micrometer. And we will also teach you how to properly monitor in practice.




