인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST
Programming

/

Back-end

Real-world! Spring Boot and JPA Utilization 2 - API Development and Performance Optimization

Develop APIs using Spring Boot and JPA. And learn how to optimize JPA's extreme performance.

(5.0) 1,140 reviews

19,302 students

Java
Spring
Spring Boot
JPA
Thumbnail

This course is prepared for Intermediate Learners.

What you will learn!

  • Understand the right way to develop APIs using Spring Boot and JPA.

  • Understand how to tune API query performance using Spring Boot and JPA.

  • Understand how to optimize practical performance using Spring Boot and JPA.

Spring Boot, if you want to use it well in practice?
Develop the power to solve complex problems.

🚩 This course is a roadmap course.

  • This lecture is the second lecture of the practical course of Java backend development. Please check the Spring Boot and JPA practical complete conquest roadmap first. (Link)

Real-world! Spring Boot and JPA Utilization 2 - API Development and Performance Optimization

In the Java world, it is a global trend to develop web applications using Spring Boot and JPA. So many developers are learning and using these two technologies. However, it is not as easy as it sounds to properly utilize these technologies while considering performance in various and complex situations in practice.

In practice, you need to be able to solve technical problems beyond the stage of developing features. You need to develop applications that optimize performance in complex, data-intensive situations and are easy to maintain at the same time.


Course Objectives

If Part 1 focused on implementing functions while developing web applications, Part 2 focuses on solving technical problems beyond functional development . We will help you solve technical problems by explaining how to properly implement them, what performance problems are common in practice, and how to solve them.

Implementing the API properly

Even if you develop one API, if you use JPA, there are many things to worry about because the concept of entities is included. Should entities be exposed directly to the API? Or should they be returned as separate objects? How should lazy loading be handled if entities are returned? You will have many concerns. We will tell you practical know-how on how to implement them safely and maintainably in practice.

 Understanding JPA Extreme Query Performance Optimization

In practice, complex situations often arise where multiple tables must be joined to quickly retrieve data. However, collection data with one-to-many relationships must also be retrieved, and additional paging may be required. Then, the problem becomes very complex, and it is difficult to solve the problem simply by joining tables. We will share practical know-how on how to optimize such complex query performance problems with JPA, and what the limits are.

 Performance tuning by coding complex examples in 6 steps

We have prepared a system where you can develop an API that does not perform well, analyze why it does not perform well, and tune it by dividing it into 6 steps and coding step by step . If you follow this content, you will naturally learn how to deal with complex performance issues in practice.

 Solves 90% of practical JPA performance issues

This lecture covers various performance problems that occur frequently in practice so that you can solve 90% of practical JPA performance problems. When I look at practical projects using Spring Boot and JPA, I see many developers who are good at implementing functions but struggle because the performance is not good at the end of the project. So when I go to help them, there are many people who don't know how to optimize JPA performance.

I've seen a wide variety of situations, from people who stay up all night trying to solve it somehow, to people who don't know how to do it and manually write SQL instead of JPA, changing a lot of code to SQL. However, when I actually went to help, it didn't even take 5 minutes to tune it for good performance. I can still vividly see the look on the developer's face when he saw a query that used to take an hour after struggling for several days reduced to tens of seconds by adjusting the JPA query options and modifying only a few codes. JPA already provides various performance tuning options in itself . Therefore, you can try various performance optimizations with just a few options and code modifications.

If you understand what is explained in this lecture, you will be able to solve 90% of practical performance problems.


Main Table of Contents

Recently, rather than using view templates to directly create HTML on the server and respond, it is common to load JSON data into an API and return it. The goal of this article is to understand the points to keep in mind and the correct design direction when developing an API using Spring Boot and JPA, and to complete the API while considering performance.

Part 2 develops a REST API based on the domain created in Part 1. Then, we step by step optimize the performance of the API for querying. Through this process, we will quickly and clearly explain the parts related to JPA query tuning that are essential in practice.

  • API Development Basics : Develop a basic REST API for registration, modification, and querying.
  • Advanced API Development: We will inform you of the precautions and correct design direction when developing APIs for querying with JPA in practice. We will solve JPA lazy loading issues and explain various performance optimization methods step by step.
  • Essential Optimizations for Practice: Covers OSIV topics that can lead to practical problems if not handled carefully when using Spring Boot and JPA.

How to learn

This course is mostly hands- on, so you'll get the most out of it if you follow the course from start to finish and code on your own .

For reference, this lecture is for those who have some knowledge of Spring Boot and JPA and can develop simple web applications. The goal is to help these people gain a technically in-depth understanding beyond functional implementation. Therefore, if you lack understanding of Spring Boot and JPA, it is recommended that you first take the first lecture.

💻 Check out the player lecture!

  • We will develop an API based on the domain model designed in Part 1 and show various performance optimization techniques. Therefore, we recommend that you listen to Part 1 and then Part 2.

Related lectures

Basics

Java ORM Standard JPA Programming - Basics
This is a prerequisite course for understanding JPA-based technologies.

Usage section

Real-world! Spring Boot and JPA Utilization 1 - Web Application Development
Design and develop real-world web applications with Spring Boot and JPA.

Practice! Spring Data JPA
Learn Spring JPA from basics to practice.

Practice! Querydsl
Solve complex and dynamic query problems with Querydsl.

reference book

The book is for those who want to study more in depth.
You can think of it as a reference book.
(If you do not 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 know Spring Boot and JPA, but I want to understand the correct way to develop APIs.

  • Those who know Spring Boot and JPA, but want to understand the performance optimization techniques required for practical use

  • I know Spring Boot and JPA, but I want to understand the in-depth content that is essential for practical use.

Need to know before starting?

  • JAVA language

  • Spring Framework

  • Relational database basics

  • JPA

Hello
This is yh

Students

474,941

Reviews

29,661

Rating

5.0

Courses

21

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

Curriculum

All

24 lectures ∙ (6hr 35min)

Lecture resources

are provided.

Published: 
Last updated: 

Reviews

Not enough reviews.
Become the author of a review that helps everyone!