강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Back-end

本当! Spring BootとJPAの活用1 - Webアプリケーション開発

実務に近い例として、Spring BootとJPAを活用してWebアプリケーションを設計および開発します。

  • yh
Java
Spring
Web Application
Spring Boot
JPA

学習した受講者のレビュー

こんなことが学べます

  • Spring BootとJPAを活用して、実務でJava Webアプリケーションを開発できます。

  • Spring BootとJPAを活用する最適な方法を理解します。

  • ドメインモデルを理解して設計できます。

  • ドメイン主導の設計を理解します。

スプリングブート、実務でうまく使いたいなら?
深い設計と開発を体験してください。

🚩この講義はロードマップコースです。

  • 本講義は、Javaバックエンド開発の実践コースを開始する最初の講義です。スプリングブートとJPA実務完全征服ロードマップをまず確認してください。 (リンク)

本当! Spring BootとJPAの活用

Spring Bootは、複雑で難しいSpringフレームワークを簡潔で使いやすくします。ここにJPAが提供する強力なORM技術を追加することで、高い生産性を維持しながら機敏にWebアプリケーションを開発することができます。このような点から、Java陣営ではSpring BootとJPAを活用してWebアプリケーションを開発することが世界的な傾向です。


講義目標

スプリングブートとJPAを知っていても、実務でこれらの技術を活用してWebアプリケーションを設計し開発することは別の次元の問題です。通常、Webアプリケーションは次の開発プロセスを経ます。

一般的なWebアプリケーション開発プロセス

  • 要件分析
  • ドメインとテーブルの設計
  • アーキテクチャの構成
  • コアビジネスロジックの開発
  • Web層の開発
  • テスト
  • パフォーマンスの最適化

このレッスンでは、掲示板のような単純な例を超えて、実務の複雑な状況を再現できる難易度の高い例を使用します。そして、要件分析から設計、開発、テスト、パフォーマンスの最適化まで、これらすべてのプロセスを順番に進めます。この作業に近い例として、Webアプリケーションを最初から最後まで一緒に設計し開発してみると、この過程の中でSpring BootとJPAを活用する正しい方法を自然に習得できます。そして実務でこれらの技術をどのように活用すべきかを理解します。特に実務において重要な性能最適化案も段階的に学んで適用できます。

全体のレッスンは、Webアプリケーションを設計および開発する1編とAPIを開発し、パフォーマンスを最適化する2編で構成されています。本講義はそのうちの最初のものに該当する1編です。

👨‍💻受講前に参考にしてください!

  • 2編API開発と性能最適化は別途の講義で、下段[関連講義]にリンクをかけておきました。

学習コース

第1編- Webアプリケーション開発

実務に近い複雑な例、最初から最後までコーディングで完成!

パート1は、メンバー、商品、注文ドメインを持つシンプルなWebアプリケーションを設計および開発します。
進行順は次のとおりです。

  • プロジェクト環境設定:プロジェクトを作成し、Spring BootとJPA、ビューテンプレートであるタイムリーフ、ロンボク、そしてデータベースが正常に動作するようにプロジェクト環境を設定します。
  • ドメイン分析の設計:要件を分析し、ドメインとテーブルを設計します。ドメインとテーブルの設計が完了したら、JPAを使用してエンティティクラスを作成し、エンティティクラスとテーブルをマッピングします。
  • ドメイン開発:メンバー、商品、注文ドメインのコアビジネスロジックを開発し、テストケースを作成して検証します。
  • Web層の開発:設定したドメインがWeb環境で動作するようにコントローラとビューテンプレート(タイムリーフ)を開発します。実際に動作する画面を確認できます。

第2編- API開発とパフォーマンスの最適化

最近では、ビューテンプレートを使用して直接サーバーからHTMLを作成して応答するのではなく、APIにJSONデータを投稿して返すことがよくあります。 Spring BootとJPAを使用してAPIを開発する際の注意点と正しい設計方向を理解し、パフォーマンスまで考慮してAPIを完成することが今回の目標です。

パート2は、パート1で作成したドメインに基づいて外部で使用できるREST APIを開発しています。そして、段階的にルックアップ用APIのパフォーマンスを最適化します。このプロセスにより、実務上必要なJPAの照会クエリのチューニングに関連する部分を素早く解放します。

  • API開発の基本:基本的には、登録、変更、照会用のREST APIを開発します。
  • API開発の高度化:実務からJPAとして照会用APIを開発するときは、注意点と正しい設計方向をお知らせします。 JPA遅延ローディングの問題を解決し、段階的にさまざまなパフォーマンス最適化方法を説明します。
  • 実務必須の最適化: Spring BootとJPAを使用するときに慎重に使用しないと、実務が障害につながる可能性があるものについて説明します。

学習方法

この講義はほとんど練習で行われています。そのため、最初から最後まで、自分が直接コーディングしながら講義に従わなければならない最も多くのものを得ることができます。

ちなみに、このレッスンではスプリングブートやJPA自体は詳しく説明しません。これらのスキルをある程度知っている人がこれらのスキルを最大限に活用できるようにするため、実務でWebアプリケーションをうまく作成するのに役立ちます。したがって、基本的には、スプリングやJPAの理解がある状態でこのレッスンを聞くことをお勧めします。しかし、SpringやJPAをまだよく知らなくても、最後まで従うことで、JavaでWebアプリケーションをどのように開発して完成するか全体的な感覚を捉えることができます。以後、本人が不足していると考える基盤技術を満たしていく方法で学習しても良いです。


関連講義

基本編

Java ORM標準JPAプログラミング - 基本編
JPAベースの技術を理解するために必要な選手講義です。

活用編

本当! Spring BootとJPAの活用2 - API開発とパフォーマンスの最適化
APIを開発し、JPAパフォーマンスの最適化を理解します。

本当! Spring Data JPA
基礎から実務までスプリングJPAを学びます。

本当! Querydsl
Querydslを介して複雑なクエリと動的クエリの問題を解決します。

参考書

本はより深い内容を勉強したい人のために
参考書と考えてください。
(本がなくても講義のための別途資料が提供されます。)


こんな方に
おすすめです

学習対象は
誰でしょう?

  • 実務ではSpring BootとJPAを使用していますが、そのスキルをよりよく活用したい方

  • スプリングブートやJPAのような技術は聞いたが、どのように活用するのが良い方向なのか知りたい方

  • Spring BootとJPAはよくわかりませんが、プロジェクト設定から実際のWebアプリケーション開発までの例に従ってJava Webアプリケーション開発の感覚をつかみたい人

前提知識、
必要でしょうか?

  • JAVA言語

  • スプリングフレームワーク

  • リレーショナルデータベースの基礎知識

  • JPA

こんにちは
です。

552,824

受講生

36,139

受講レビュー

8,952

回答

5.0

講座評価

24

講座

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

カリキュラム

全体

36件 ∙ (7時間 44分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

2,365件

5.0

2,365件の受講レビュー

  • OMG님의 프로필 이미지
    OMG

    受講レビュー 205

    平均評価 5.0

    5

    100% 受講後に作成

    기본편에 이어 활용1편을 완강했습니다. "서울방언 실패!x" 와 커멘드 키 두번 누르는 명령어를 사용하여 복붙하는 과정에서 정렬이 되지 않았을 때 빵 터졌던 기억과 더불어 강의 내용이 참 알차다는 생각을 했습니다. 이제 다음 강의인 극한의 성능최적화 노하우를 전수 받아야 될 거같네요! 다음 후기에서 봬어요 !ㅎㅎ

    • 김영한
      知識共有者

      와~~ 이 수강평에 왜 이렇게 하트가 많지요 ㅋㅋ 저도 웃음이 나오는 즐거운 수강평 감사합니다 ㅋㅋ

  • 2010psw님의 프로필 이미지
    2010psw

    受講レビュー 1

    平均評価 5.0

    5

    100% 受講後に作成

    무슨내용을 설명하는거야 라고 생각할때마다 나오는 부연설명에 매순간 이해가 되는 강의 TMI같지만 모든것이 복선이었던 치밀한 강의 매번 설명을 들을때마다 다음 강의가 기대되는 강의 퇴근하고 놀생각 대신 보고싶어지는 강의 초반에 책 홍보를 하실때는 ㅋㅋㅋㅋ 했지만 점점 책 내용이 궁금해지는 강의 영한님을 상속받을 수 있는(?) 강의 이 강의가 올라오고나서 인프런이 빨라졌다는 전설의 강의 흡입력있는 강의였습니다. 다음 강의 지르러갑니다 강의가 재미있긴 처음이네요 다른강의도 더 내주세요...얼른요ㅠㅠ

    • 김영한
      知識共有者

      크! 모든것이 복선이라니 들켰네요 ㅋㅋㅋㅋㅋ 강의 준비를 할 때 사실 나름 치밀하게? 구성합니다. ㅋㅋㅋ 다른 강의들도 열심히 준비할게요. 고맙습니다. 2010psw님^^

  • unialto님의 프로필 이미지
    unialto

    受講レビュー 1

    平均評価 5.0

    5

    14% 受講後に作成

    "나도 스프링부트+JPA로 개발할 수 있다."가 되네요! 실전 위주에 마치 지방에서 올라온? 아는 형이 바로 옆에서 같이 개발하면서 가르쳐 주는것 같아서 아주 좋았습니다. "백문이 불여일타!"

    • 김영한
      知識共有者

      unialto님 감사합니다. 서울말 패치를 몇번 시도했는데 실패해서 롤백되었습니다. ㅋㅋ 궁금한 내용이 있으면 언제든 편하게 질문주세요^^

  • 강프로그래머님의 프로필 이미지
    강프로그래머

    受講レビュー 24

    平均評価 4.6

    5

    100% 受講後に作成

    Spring Framework Mybatis 6개월 국비학원을 수료하고 Spring FrameBoot JPA 사용하는 회사에 입사하였습니다 처음에 구글로 CRUD를 검색해서 수박 겉햝기로 공부하였는데 엄청 헤매고 힘들었던 것 같습니다 그래서 만약 제가 이 인강을 먼저 알았더라면 정말 좋았겠구나 라고 생각이드네요 JPA를 입문하시는분들에게 이제까지 본 인강중에 최고인 것 같습니다 1. 내용이 알차다 2. 설명이 디테일하다. 이 인강 2번 더 돌려보고 소스파악되면 책구매해서 기초편도 겟할 예정 좋은 강의 올려주셔서 감사합니다

    • 김영한
      知識共有者

      강프로그래머님 극찬을 해주셔서 감사합니다^^ 정말 열정이 대단하신 분이시네요. 질문과 답변에도 잘 안되는 부분을 풀어서, 다른 분들께 도움이 되게 쉽게 설명해주셔서 고맙습니다. 중간에 궁금하신 내용은 언제든지 편하게 질문주세요^^!

  • 향로님의 프로필 이미지
    향로

    受講レビュー 3

    平均評価 5.0

    5

    8% 受講後に作成

    실제로 하나의 서비스를 만들어가면서 좋은 백엔드 구조가 가져야할 여러 개념들을 차례로 배우기 좋은 강의라고 생각합니다 :) 스프링과 JPA를 공부 한 뒤 어떻게 프로젝트를 시작할지 망설인분들에게 추천드려요 :)

    • 김영한
      知識共有者

      향로님 고맙습니다^^ 응원합니다.

¥10,375

yhの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!