コースコード:JV990

Spring Boot3ではじめるWebアプリケーション開発入門(3日間)

コース情報

受講料
181,500円 165,000円
講習日数
3日間

コース概要

Webアプリケーションの基礎をいま最も普及しているJavaフレームワーク「Spring Boot」を使って学習するコースです。
実際にプログラムを作成し動作を確認しながら学習することができます。
Spring Bootは、VMware社を中心にオープンソースで開発されている、高生産性・高機能性なフレームワークです。
本コースでは、Webアプリケーション開発未経験者の方を対象として、基本的なWebアプリケーション開発方法を講義+演習で学習します。

開催形式
集合研修
研修サービス
テキスト マシン実習

前提知識

以下のすべてを満たしている方。

  • 基本的なJavaプログラミングができる方(基本文法オブジェクト指向標準APIの利用など)
  • SQL(SELECT/INSERT/UPDATE/DELETE)の基本構文を知っている方
  • HTMLを使って簡単なWebページを作成できる方

到達目標

  • Webアプリケーションの基本を理解する
  • Spring Bootの概要、メリット、デメリットを説明できる
  • DBアクセスを伴う基本的なWebアプリケーションを作成できる

講師からのメッセージ

Webアプリケーションの基礎となるHTTPプロトコル、Get/Postメソッド、リクエストパラメータ、HTML(form)などを交えながらSpring MVCとThymeleafを利用した画面のあるWebアプリケーションから、Spring Data JPAによるDBアクセス、ファイルアップロードの実装まで、Webアプリケーションとして必要となる機能を実装できるようになります。
Virtual Threads (Java 21)に対応したSpring Boot 3.2環境を使って、Webアプリケーションを開発します。
今最も主流であるフレームワークによるモダンな開発技術を、是非この機会に体験してみてください。

コース内容

1日目
AM
1.Spring Framework/Spring Boot概要
・Spring Frameworkとは
・Spring Bootとは、Spring Bootのメリット、Spring Bootのサポート期間
・Spring Boot 3 と Spring Boot 2 の主な違い
2.超速習DIコンテナ
・DIコンテナとは、Beanとは
・アノテーションによるBean定義
・Java ConfigによるBean定義
・それぞれのBean定義の使い分け
PM
3.Webアプリケーション概要
・Webアプリケーション システム構成
・HTTP、HTTPリクエスト、HTTPレスポンス
4.Spring MVCとThymeleafでHello World
・Spring MVC/Thymeleaf
・コントローラーとViewでHello World
・コントローラーからViewにデータ(現在日時)を渡す
・クライアントからの入力 : リクエストパラメータ
・リクエストパラメータを受け取る
・応用 : リクエストパラメータをFormクラスで受け取る
・リダイレクト機能の作成
2日目
AM
5.Bean Validationによる入力検証
・基本的な入力検証
・相関バリデーション
6.永続化層 Spring Data JPA
・永続化層とは
・Spring Data JPA
・エンティティクラス、ListCrudRepository、JpaRepository
・Spring Data JPAによる基本DBアクセス(CRUD)
PM
7.もっと Spring Data JPA
・ListPagingAndSortingRepository
・ページネーション/列ソートを利用した検索
・命名規則ベースのメソッド名を使って条件検索
・命名規則ベースのメソッド名を使って条件に応じた削除
8.ビジネスロジック層
・ビジネスロジック層とは
・Dependency Injectionとは
・永続化層との統合
・@Transactionalによるトランザクション管理
・Spring Data JPAリポジトリを利用した更新処理
・JPA EntityManagerの管理下に置かれるエンティティ
・Spring Data JPA : 更新/削除SQLが発行されるタイミング
・コラム:AOPによるトランザクション管理について
・WebアプリケーションでのEntityManagerの生存期間
3日目
AM
9.プレゼンテーション層
・プレゼンテーション層とは
・ビジネスロジック層との統合
・コラム : 一覧ページにページネーションを設置 (Server Side Pagination)
・コラム : 静的リソースのキャッシュの制御
PM
10.セッション管理(例外処理と順番入れ替え)
・HTTPセッションの仕組み
・Spring MVCでのセッション管理
11.例外処理 アプリケーション例外とエラーページ
・Whitelabel Error Page
・業務エラーに対応した独自例外クラスとビジネスロジック層での例外処理
・アプリケーションで発生した例外のハンドリング
・@ControllerAdviceを付加した例外ハンドラークラス
・Spring Bootでのエラーページ
12.ファイルアップロード
・MIMEタイプ
・マルチパートタイプ、MultipartFile
・フォーム、コントローラー、サービスクラスの改造
・登録画面と更新画面にイメージファイルのアップロードを追加
・詳細表示画面にイメージ表示を追加
※上記スケジュールは予定となり、当日若干前後する可能性がありますのでご了承ください。

<付録>(研修では実施しませんが、以下の付録を配布いたします)
■永続化層 Spring Data JPA 補足
・Spring Data オーバービュー
・<参考> Spring Data JPAとSpring Data JDBCの比較(概要)
■Spring Data REST (サンプルコードあり)
・Spring Data JPAリポジトリをRESTful WebAPIとして公開する
・RESTful Web Service
・Spring Data REST
・HATEOASとHAL
・リポジトリ リソース
・実行確認 全件検索(ページネーション、ソート指定)、1件取得、クエリーメソッド
・HTTPクライアントツール
・実行確認 更新系メソッド (POST/PUT/PATCH/DELETE)
■Spring Data RESTでBean Validationによる入力検証 (サンプルコードあり)
・Spring Data RESTのイベント
・イベントリスナーにバリデーターの登録
・エンティティクラスにBean Validationのアノテーションを付加
・動作確認 (POST/PUT/PATCH)
■さらに Spring Data JPA (サンプルコードあり)
・エンティティ同士を関連させる(@OneToOne/@OneToMany/@ManyToOne/@ManyToMany/@JoinColumn)
・FetchType と参照エンティティがロードされるタイミング
・参照エンティティのカスケード操作 (CascadeType)
■N+1 SELECT問題とその解決方法 (サンプルコードあり)
・N+1 SELECT問題
・Jakarta Persistence query language (JPQL)
・@Query
・サンプルアプリケーションから実行確認 (@Query版検索メソッド)
・JOIN FETCH によるN+1 SELECT問題の解決
・アプリケーションの実行確認 (N+1 SELECT問題 対策版)
・コラム : JPQL - DISTINCTの解釈 (hibernate 5系までとhibernate 6系の違い)
■レコードクラス (Java16~) (サンプルコードあり)
■ビジネスロジック層 補足 (サンプルコードあり)
・Spring Data JPAとSpring Data JDBCの比較(詳細)
■永続化層/ビジネスロジック層のテスト (サンプルコードあり)
・コンテナからBeanを取り出し永続化層/ビジネスロジック層をテストする(@SpringBootTestを使った統合テスト)
・モック(永続化層)を利用しビジネスロジック層を単体テストする(Mockito @Mock/@InjectMocksを使う)
・コラム Beanのスパイを使って統合テストをおこなう(@ExtendWith(SpringExtension.class)/@SpyBean)
■プレゼンテーション層のテスト (サンプルコードあり)
・MVC Test Framework
・MockMvcを使ってプレゼンテーション層をテストする
・コラム HtmlUnitを用いたEnd-to-Endテスト
■ログ出力 (サンプルコードあり)
・ロギングライブラリ
・ログレベルの種類
・ログ出力のサンプルコード
・アプリケーションの実行とログ出力結果 (ログレベル設定なし:デフォルト)
・ログレベルの設定
■パッケージング・デプロイ・アクセス (サンプルコードあり)
・Spring Initializr : パッケージング Jar/War でのひな型プロジェクトの差分
・パッケージング
・アプリケーションサーバーへのデプロイ & Webアプリケーションへのアクセス 等
※最新でより良い内容をお届けするため、一部の学習項目を予告なく変更する可能性がありますのでご了承ください。

<実行環境>
■Webブラウザ(Google Chrome)
■JDK 21
■Spring Boot 3.x 、 Spring Framework 6.x
■Hibernate 6.x 、 Spring Data JPA 3.x
■MySQL 8
※使用するソフトウェアおよびバージョンについては予告なく変更する可能性がありますのでご了承ください。

<配布資料>
■セミナーテキスト
※※ソースコード等はオンラインストレージにて配布いたします。

留意事項・備考

・本コースは株式会社カサレアルとの提携コースであり、コース実施のためのお客様の個人情報を提携会社に提供させていただきます。
・本コースは、お申込いただいてから主催会社に空席確認をし受講可否をご連絡いたします。空席状況の表示が△でもまずはお申し込みください。
・本コースのマシン実習は1つのシナリオに沿っているため、遅刻すると他の受講者と一緒に演習ができません。
 開始時刻を遅れて参加された場合は、チュートリアルに従って自力で演習を進めることになります。
 開始時間を守って参加いただけますよう、お願いいたします。

開催スケジュール詳細・お申込

開催スケジュールは、日程が決まり次第掲載致します。