Real-world! Spring Boot and JPA Utilization 1 - Web Application Development
With a practical example, we will design and develop a web application using Spring Boot and JPA. Through this process, you will understand how to use Spring Boot and JPA in practice.
You can develop Java web applications in practice using Spring Boot and JPA.
Understand the best way to leverage Spring Boot and JPA.
You can understand and design domain models.
Understand domain-driven design.
Want to use Spring Boot effectively in practice? Experience in-depth design and development.
🚩 This course is a roadmap course.
This lecture is the first in a practical course in Java backend development. Please first check out the roadmap for mastering Spring Boot and JPA(link) .
Real-World Applications! Using Spring Boot and JPA
Spring Boot simplifies and eases the complex and complex Spring Framework. Adding the powerful ORM technology provided by JPA to this, it enables agile web application development while maintaining high productivity. For these reasons , leveraging Spring Boot and JPA for web application development is a global trend in the Java community.
Course Objectives
Even if you're familiar with Spring Boot and JPA, designing and developing web applications using these technologies in practice is a completely different matter. Typically, web applications go through the following development process.
General web application development process
Requirements Analysis
Domain and table design
Architecture composition
Develop core business logic
Web tier development
test
Performance optimization
This course goes beyond simple examples like bulletin boards and uses challenging examples that replicate complex real-world scenarios. It covers the entire process, from requirements analysis to design, development, testing, and performance optimization. By designing and developing a web application from start to finish using these practical examples , you'll naturally learn the correct way to leverage Spring Boot and JPA. You'll also understand how to apply these technologies in practice. In particular, you'll learn and apply performance optimization techniques, which are crucial for practical use, step by step.
The entire course consists of two parts: Part 1, which covers designing and developing web applications, and Part 2, which covers developing APIs and optimizing performance. This lecture is the first of these two parts.
👨💻 Please note before taking the class!
Part 2 API development and performance optimization is a separate lecture , and a link is provided in [Related Lectures] below.
Learning process
Part 1 - Web Application Development
Complex , practical examples, coded from start to finish!
Part 1 designs and develops a simple web application with member, product, and order domains. The order of progression is as follows:
Project Configuration: Create a project and configure the project environment so that Spring Boot, JPA, Thymeleaf view templates, Lombok, and the database work properly.
Domain Analysis and Design: Analyze requirements and design the domain and tables. Once the domain and table design is complete, create entity classes using JPA and map them to tables.
Domain Development: Develop core business logic for the Member, Product, and Order domains, and create test cases to verify them.
Web Layer Development: Develop controllers and view templates (Thymeleaf) to enable the configured domain to operate in a web environment. You can check the actual screen in action.
Part 2- API Development and Performance Optimization
These days, rather than using view templates to directly generate HTML on the server and respond, many developers are loading JSON data into APIs and returning it. The goal of this article is to understand the considerations and proper design guidelines for developing APIs using Spring Boot and JPA, and to complete the API with performance in mind.
Part 2 builds on the domain created in Part 1 to develop an externally usable REST API. We then step-by-step optimize the performance of the query API. This process provides a thorough understanding of JPA query tuning, a crucial practice.
API Development Basics: Develop a basic REST API for registration, modification, and query.
Advanced API Development: We'll explain the key considerations and design guidelines for developing query APIs using JPA in practice. We'll address JPA lazy loading issues and explain various performance optimizations step-by-step.
Essential Optimizations for Practice: Covers practical issues that can lead to problems in practice if not handled carefully when using Spring Boot and JPA.
How to learn
This course is largely hands-on . Therefore, you'll get the most out of it by following the lecture from beginning to end, coding on your own .
Please note that this course does not cover Spring Boot or JPA in detail. The goal is to help those familiar with these technologies leverage them to their full potential, enabling them to develop effective web applications in the real world . Therefore, we recommend that you have a basic understanding of Spring and JPA before taking this course. However, even if you're not yet familiar with Spring or JPA, following along will give you a comprehensive understanding of how to develop and complete web applications in Java. You can also fill in any gaps in your foundational skills later on.
The book is for those who want to study more in-depth content. You can think of it as a reference book. (Even if you don't have a book, separate materials for the lecture will be provided.)
Recommended for these people
Who is this course right for?
For those who use Spring Boot and JPA in their work but want to get better use out of the technology
I have heard of technologies like Spring Boot or JPA, but I want to know how to best utilize them.
If you don't know much about Spring Boot and JPA, but want to get a feel for Java web application development by following examples from project setup to actual web application development.
I completed the first part of the basics and the first part of the usage.
I remember bursting out laughing when the alignment didn't work while copying and pasting using the command of pressing the command key twice, saying "Seoul dialect failure! x", and I thought the lecture content was very informative. Now, I think I have to learn the know-how of extreme performance optimization in the next lecture!
See you in the next review! ㅎㅎ
Every time I think about what the content is being explained, the additional explanations come out, and I understand every moment of the lecture
It's like TMI, but it's a detailed lecture where everything is foreshadowing
Every time I listen to the explanation, I look forward to the next lecture
A lecture that makes me want to watch it instead of thinking about playing after work
When you were promoting the book at the beginning, I was like ㅋㅋㅋㅋ, but a lecture that makes me increasingly curious about the contents of the book
A lecture that can inherit Younghan(?)
A legendary lecture that says that Infraon got faster after this lecture was uploaded
It was an engaging lecture. I'll buy the next lecture
It's the first time a lecture is fun
Please give me more lectures... Hurry upㅠㅠ
Wow! I got caught saying that everything is foreshadowing ㅋㅋㅋㅋㅋ When I prepare for a lecture, I actually organize it meticulously? ㅋㅋㅋ
I will prepare other lectures diligently as well. Thank you. 2010psw^^
"I can develop with Spring Boot + JPA too." It's great!
It's like a real-life situation where a guy from the countryside teaches you while developing right next to you.
"Seeing once is better than hearing a hundred times!"
Thank you, unialto.
I tried the Seoul dialect patch several times but it failed and rolled back. LOL
If you have any questions, feel free to ask anytime^^
After completing the 6-month national academy for Spring Framework Mybatis,
I joined a company that uses Spring FrameBoot JPA.
At first, I searched CRUD on Google and studied it in a haphazard manner.
I was really lost and had a hard time.
So, if I had known about this lecture first,
I think it would have been really good.
For those who are new to JPA, this is the best lecture I've ever seen.
1. The content is rich.
2. The explanation is detailed.
I'll watch this lecture twice more, and when I understand the source code, I'll buy the book and get the basics.
Thank you for uploading a good lecture.
Thank you, Kang Programmer, for your great praise^^
You are truly a passionate person.
Thank you for explaining the parts that I had difficulty with in Q&A, so that it is easy to help others.
If you have any questions in the meantime, please feel free to ask me anytime^^!
I think this is a good lecture to learn various concepts that a good backend structure should have while actually creating a service :)
I recommend this to those who are hesitant about how to start a project after studying Spring and JPA :)