강의

멘토링

커뮤니티

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,312 reviews

20,883 learners

  • yh
Java
Spring
Spring Boot
JPA

Reviews from Early Learners

What you will gain after the course

  • 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.

Want to use Spring Boot effectively in practice?
Develop the power to solve even complex problems.

🚩 This course is a roadmap course.

  • This lecture is the second in a practical course on Java backend development. Please first review the roadmap for mastering Spring Boot and JPA (link) .

Practice! Using Spring Boot and JPA 2 - API Development and Performance Optimization

In the Java world, developing web applications using Spring Boot and JPA is a global trend. Consequently, many developers are learning and using these two technologies. However, effectively utilizing these technologies in diverse and complex real-world situations while also considering performance is not as easy as it might seem.

In practice, you need to go beyond functional development to solve technical problems. You need to develop applications that optimize performance in complex, data-intensive situations while also being easy to maintain.


Course Objectives

While Part 1 focused on implementing features while developing web applications, Part 2 goes beyond functional development and focuses on solving technical issues . We'll cover how to implement them properly , what performance issues typically arise in practice, and how to address them. We'll also help you resolve technical issues.

Implement the API properly

Even when developing a single API, using JPA introduces the concept of entities, leading to numerous concerns. Should entities be exposed directly to the API? Or should they be created as separate objects and returned? How should lazy loading be handled when returning entities? These questions often arise. We'll share practical know-how on how to implement these in a safe and maintainable way.

 Understanding JPA Extreme Query Performance Optimization

In practice, complex situations often arise where multiple tables must be joined to quickly retrieve data. However, this often requires the addition of collection data with one-to-many relationships, and additional paging may be required. This complicates the problem significantly, making it difficult to resolve with simple table joins. This article will share practical know-how on how to optimize these complex query performance issues with JPA and its limitations.

 Performance tuning by coding complex examples in six steps.

We've prepared a six-step guide to help you develop an underperforming API, analyze why it's failing, and tune it step-by-step through coding . By following this guide, you'll naturally learn how to address complex performance issues in real-world situations.

 Solving 90% of practical JPA performance issues

This course covers a variety of performance issues that frequently arise in practice, helping you resolve 90% of practical JPA performance issues. I've seen countless developers working on Spring Boot and JPA projects successfully implement functionalities, but struggle with performance issues at the end of the project. So, when I went to help them, I often found they didn't know how to optimize JPA performance.

I've seen a wide range of scenarios, from people who pulled all-nighters trying to figure out a solution, to those who, unsure of a solution, manually rewrote SQL instead of JPA and converted countless codes into SQL. However, when I actually went to help, it took less than five minutes to tune the system for optimal performance. I can still vividly see the look on the developer's face as they saw a query that used to take an hour, despite days of hard work, reduced to tens of seconds by adjusting JPA query options and making a few minor code changes. JPA inherently provides a wide range of performance tuning options , so with just a few options and code modifications, you can experiment with various performance optimizations.

If you understand what I'm talking about in this lecture, you'll be able to solve 90% of your practical performance problems.


Main Table of Contents

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 develops a REST API based on the domain created in Part 1. We then step by step optimize the performance of the query API. This process provides a thorough and comprehensive explanation of JPA query tuning, a crucial practice.

  • API Development Basics : Develop a basic REST API for registration, modification, and querying.
  • 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 OSIV topics that can lead to practical issues 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 is intended for those who have some familiarity with Spring Boot and JPA and are capable of developing simple web applications. The goal is to help these individuals develop a deep technical understanding beyond functional implementation. Therefore, if you lack a solid understanding of Spring Boot and JPA, we recommend taking Part 1 first.

💻 Check out the player lecture!

  • We'll develop an API based on the domain model designed in Part 1 and demonstrate various performance optimization techniques. Therefore, we recommend taking Part 1 before Part 2.

Related lectures

Basic Edition

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

Usage section

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

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

Real-world! Querydsl
Solve complex and dynamic query problems with Querydsl.

reference book

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 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

568,466

Learners

38,368

Reviews

9,017

Answers

5.0

Rating

25

Courses

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

Curriculum

All

24 lectures ∙ (6hr 35min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

1,312 reviews

5.0

1,312 reviews

  • ckdals123456782875님의 프로필 이미지
    ckdals123456782875

    Reviews 2

    Average Rating 5.0

    5

    67% enrolled

    大変だ。ますます若いイ・ヒョンがハンサムに見え始める。これは愛ですか?

    • yh
      Instructor

      ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ大好きですㅎㅎ

  • kingbbode0570님의 프로필 이미지
    kingbbode0570

    Reviews 3

    Average Rating 5.0

    5

    79% enrolled

    全部教えてくれたらどうしますかチーム長! 実務で多くの役に立ったノウハウがいっぱいの講義です。 良い講義を作ってくれてありがとう:)

    • yh
      Instructor

      ㅎㅎㅎkingbbodeはいつも最高に感謝します!

  • wnstn0154님의 프로필 이미지
    wnstn0154

    Reviews 6

    Average Rating 5.0

    5

    100% enrolled

    SpringとJPAを一緒に勉強する学生が上げた数多くのQ&Aのおかげで講義をより疑問が生じる部分があればQ&Aを参考にすれば9割は解決される。これはキングヨンファン様が抄紙一貫Q&Aに気を使ってくださったから…決済して聞くだけでも私がむしろお金を稼いでいく講義。

    • yh
      Instructor

      タララ様一生懸命にやってくれるので、それだけもっと手に入れてくれるのだと思います^^ ありがとうございます。

  • khjvvv70387님의 프로필 이미지
    khjvvv70387

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    JPA基本編と活用1、2編まで頑張りました。 倍速再生をしなければ、聞きづらいほど退屈な講義が多かったのですが、ヨンハン様講義は倍速再生をすることができませんでした。それだけ内容が充実しており、講義テンションも良くて集中してすべての講義を聞くことができました。良い講義ありがとうございます〜!〜!

    • yh
      Instructor

      大きい!ありがとうございます。庭園。実は私もテンションが大事だと思って、テンションが死んだらまた撮りますww

  • deeplyrooted님의 프로필 이미지
    deeplyrooted

    Reviews 5

    Average Rating 5.0

    5

    100% enrolled

    * best practiceを教えてくれますが、bad practiceも一緒に説明してくれたので、改善されたものがなぜbest practiceになるのかがわかりました。 *開発便宜、性能、メンテナンスなどのトレードオフについて詳しく説明します。まだ多くのトラフィックを経験したことはありませんが、サービスが増えてトラフィックが増えたとき、バックエンド開発者はパフォーマンスを向上させるためにどの点を考慮する必要があるのか​​を知ることができました。 *パフォーマンス改善のために作業したときにSQLクエリを一つずつ見せながら、どのようにパフォーマンス最適化になるのか、常にこのようなパフォーマンス最適化が銀弾ではないことも一緒に教えてくれます。 Spring Data JPA、QueryDSLの説明を聞いてみると、DBとJPAの基本をさらにしっかり固めたいと思います。 実務での経験を素敵な講義で解いてくれてありがとう:)

    • yh
      Instructor

      講義を本当にしっかり習得しましたね^^!

$68.20

yh's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!