i-Learning 株式会社アイ・ラーニング
i-Learning 株式会社アイ・ラーニング

Spring Boot 3 ではじめるWebアプリケーション開発入門

  • コースコードMJ048

  • 受講形態オンラインもしくは対面
  • 日数3日間

  • 受講時間9時30分 ~ 17時00分(昼休憩:60分)

  • 受講料181,500円 (税別価格165,000円)

Spring Bootは、VMware社を中心にオープンソースで開発されている、高生産性・高機能性なフレームワークです。

本コースでは、Webアプリケーション開発未経験者の方を対象として、基本的な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アプリケーションを開発します。

今最も主流であるフレームワークによるモダンな開発技術を、是非この機会に体験してみてください。

  • 機械演習
  • 他社提携

詳細情報

対象者

・Webアプリケーションをはじめて学習する方
・Spring Bootをはじめて学習する方
・Spring Bootの基本的な使い方を知りたい方

前提知識

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

学習目標

当コースを修了した時点で、次のことができることを目標とします。

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

研修の内容

■ Spring Framework/Spring Boot概要

 □ Spring Frameworkとは

 □ Spring Bootとは、Spring Bootのメリット 、Spring Bootのサポート期間

 □ Spring Boot 3 と Spring Boot 2 の主な違い

■ 超速習DIコンテナ

 □ DIコンテナとは、Beanとは

 □ アノテーションによるBean定義

 □ Java ConfigによるBean定義

 □ それぞれのBean定義の使い分け

■ Webアプリケーション概要

 □ Webアプリケーション システム構成

 □ HTTP、HTTPリクエスト、HTTPレスポンス

■ Spring MVCとThymeleafでHello World

 □ Spring MVC/Thymeleaf

 □ コントローラーとViewでHello World

 □ コントローラーからViewにデータ(現在日時)を渡す

 □ クライアントからの入力 : リクエストパラメータ

 □ リクエストパラメータを受け取る

 □ 応用 : リクエストパラメータをFormクラスで受け取る

 □ リダイレクト機能の作成

■ Bean Validationによる入力検証

 □ 基本的な入力検証

 □ 相関バリデーション

■ 永続化層 Spring Data JPA

 □ 永続化層とは

 □ Spring Data JPA

 □ エンティティクラス、ListCrudRepository、JpaRepository

 □ Spring Data JPAによる基本DBアクセス(CRUD)

■ もっと Spring Data JPA

 □ ListPagingAndSortingRepository

 □ ページネーション/列ソートを利用した検索

 □ 命名規則ベースのメソッド名を使って条件検索

 □ 命名規則ベースのメソッド名を使って条件に応じた削除


■ ビジネスロジック層

 □ ビジネスロジック層とは

 □ Dependency Injectionとは

 □ 永続化層との統合

 □ @Transactionalによるトランザクション管理

 □ Spring Data JPAリポジトリを利用した更新処理

 □ JPA EntityManagerの管理下に置かれるエンティティ

 □ Spring Data JPA : 更新/削除SQLが発行されるタイミング

 □ コラム:AOPによるトランザクション管理について

 □ WebアプリケーションでのEntityManagerの生存期間

■ プレゼンテーション層

 □ プレゼンテーション層とは

 □ ビジネスロジック層との統合

 □ コラム : 一覧ページにページネーションを設置 (Server Side Pagination)

 □ コラム : 静的リソースのキャッシュの制御

■ セッション管理 (例外処理と順番入れ替え)

 □ HTTPセッションの仕組み

 □ Spring MVCでのセッション管理

■ 例外処理 アプリケーション例外とエラーページ

 □ Whitelabel Error Page

 □ 業務エラーに対応した独自例外クラスとビジネスロジック層での例外処理

 □ アプリケーションで発生した例外のハンドリング

 □ @ControllerAdviceを付加した例外ハンドラークラス

 □ Spring Bootでのエラーページ

■ ファイルアップロード

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

  ・ <参考> Spring Data JDBC版 エンティティの関連 サンプルプログラム

 □ 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の比較(詳細)

 □ 参考 Spring Data JDBC版のWebアプリケーション サンプル

 □ 参考 Spring Boot2 (Spring Data JPA 2/hibernate 5) 版 アプリケーション サンプル (サンプルコードのみ)

 □ 永続化層/ビジネスロジック層のテスト (サンプルコードあり)

  ・ コンテナからBeanを取り出し永続化層/ビジネスロジック層をテストする(@SpringBootTestを使った統合テスト)

  ・ モック(永続化層)を利用しビジネスロジック層を単体テストする(Mockito @Mock/@InjectMocksを使う)

  ・ コラム Beanのスパイを使って統合テストをおこなう(@ExtendWith(SpringExtension.class)/@SpyBean)

 □ プレゼンテーション層のテスト (サンプルコードあり)

  ・ MVC Test Framework

  ・ MockMvcを使ってプレゼンテーション層をテストする

  ・ コラム HtmlUnitを用いたEnd-to-Endテスト

 □ ログ出力 (サンプルコードあり)

  ・ ロギングライブラリ

  ・ ログレベルの種類

  ・ ログ出力のサンプルコード

  ・ アプリケーションの実行とログ出力結果 (ログレベル設定なし:デフォルト)

  ・ ログレベルの設定

 □ パッケージング・デプロイ・アクセス (サンプルコードあり)

  ・Spring Initializr : パッケージング Jar/War でのひな型プロジェクトの差分

  ・<参考> Warファイルをデプロイすると行われる処理

  ・パッケージング

  ・アプリケーションサーバーへのデプロイ & Webアプリケーションへのアクセス


※最新でより良い内容をお届けするため、一部の学習項目を予告なく変更する可能性がありますのでご了承ください。


開催情報

開催概要

日数 3日間
受講時間 9時30分 ~ 17時00分(昼休憩:60分)
受講料 181,500円
(税別価格165,000円)

開催日程・場所

日時 場所 状況 締切日 セッションID
5月15日(水) 〜 5月17日(金) オンラインオープン研修(カサレアル社) 受付締切 5月2日(木) 66
6月17日(月) 〜 6月19日(水) オンラインオープン研修(カサレアル社) 受付中 6月4日(火) 71
8月5日(月) 〜 8月7日(水) オンラインオープン研修(カサレアル社) 受付中 7月23日(火) 67
8月21日(水) 〜 8月23日(金) オンラインオープン研修(カサレアル社) 受付中 8月8日(木) 68
9月11日(水) 〜 9月13日(金) オンラインオープン研修(カサレアル社) 受付中 8月29日(木) 69
9月24日(火) 〜 9月26日(木) オンラインオープン研修(カサレアル社) 受付中 9月11日(水) 70

重要事項

キャンセル規定

受講開始10営業日前から受講料(購入価格)の100%のキャンセル料がかかります。

テキスト

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

オンラインクラス

オンライン開催の場合は、以下の注意事項をご確認の上、事前にご準備ください。
(以下は2022年10月1日以降開催のコースに適用されます。
それ以前に開催のコースでは研修環境等が異なりますので、お問い合わせください。)

◆オンライン研修環境
 ●使用ツール
  動画配信:Zoom
  ※業務用PCに追加アプリをインストールできない場合は、ブラウザからのご参加をお願いします。
  ※Zoomのシステム要件について、より詳細な情報は、こちらをご参照ください。
  質疑応答:オンラインチャットシステム
  演習環境:仮想デスクトップ
 ●システム要件
  インターネットに常時接続できること
  Webカメラおよびマイク
  ※PC本体の他に、モニターやiPad等の拡張ディスプレイをご用意いただくことを推奨いたします。
  (1台目:Zoom、オンラインチャットシステム用、2台目:演習環境用)
 ●OS:Windows / ブラウザ:Google Chrome
  上記以外の環境でもご受講いただくことが可能ですが、操作感が異なる可能性がある点をご了承ください。

演習環境

※実行環境

Webブラウザ(Google Chrome)

JDK 21

Spring Boot 3.x 、 Spring Framework 6.x

Hibernate 6.x 、 Spring Data JPA 3.x

MySQL 8


※使用するソフトウェアおよびバージョンについては予告なく変更する可能性がありますのでご了承ください。

その他

※受講に関する注意点※
進行の都合上、研修開始時間を過ぎてからのご参加はご遠慮いただいております。
大変恐れ入りますが、研修開始時間までにご参加いただけていない場合、
当日キャンセル扱いをさせていただく場合がございますのでご注意ください。

備考

当コースは株式会社カサレアルが提供します。
満席でもお席をご準備できる場合がありますのでお問い合わせください。

※他社提携コースは、お申し込み後に空席確認を行います。主催会社でお席の確保ができた後に受付確定となります。

当コースは、下記コースの後継コースとなります。
『Spring BootではじめるWebアプリケーション開発入門』(MJ044)


メッセージ

Webアプリケーションの基礎をいま最も普及しているJavaフレームワーク「Spring Boot」を使って学習するコースです。 実際にプログラムを作成し動作を確認しながら学習することができます。

Spring Boot 3 ではじめるWebアプリケーション開発入門
条件を指定してコース検索


コース
検索