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

WEB

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

実践重視のプログラムで「わかる」を「できる」に!

株式会社カサレアル

No. RJ1005CRL 1005CRL

対象者target

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

前提知識

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

研修内容・特徴outline・feature

Webアプリケーションの基礎をいま最も普及しているJavaフレームワーク「Spring Boot」を使って学習するコースです。 実際にプログラムを作成し動作を確認しながら学習することができます。
Spring Bootは、VMware社を中心にオープンソースで開発されている、高生産性・高機能性なフレームワークです。
本コースでは、Webアプリケーション開発未経験者の方を対象として、基本的なWebアプリケーション開発方法を講義+演習で学習します。
Webアプリケーションの基礎となるHTTPプロトコル、Get/Postメソッド、リクエストパラメータ、HTML(form)などを交えながらSpring MVCとThymeleafを利用した画面のあるWebアプリケーションから、Spring Data JPAによるDBアクセス、ファイルアップロードの実装まで、Webアプリケーションとして必要となる機能を実装できるようになります。
今最も主流であるフレームワークによるモダンな開発技術を、是非この機会に体験してみてください。

到達目標goal

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

主催団体organizer

本コースは、株式会社カサレアル が主催しております。

研修プログラムprogram

  • ■ 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アクセス(CURD)
  • ■ もっと 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アプリケーションへのアクセス
  • ※最新でより良い内容をお届けするため、一部の学習項目を予告なく変更する可能性がありますのでご了承ください。

配布資料demo

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

留意事項・備考notice

【事前に必ず以下をご確認の上お申込みください】
*本コースのキャンセル期限は研修開始日の7営業日前17:00まで です。
*主催団体によりキャンセルポリシーが異なります。詳細はこちらをご確認ください。
*キャンセル期限までは無料にてキャンセルを承ります。
*キャンセル期限を過ぎた後は、受講料全額をキャンセル料として頂戴いたします。
*事前のお席の確保は原則承っておりません。
*お申込み内容は、翌営業日以降に確定いたします。
*お申込み後、満席などでご受講できない場合がございますので、あらかじめご了承ください。満席の場合は、別途ご連絡申し上げます。

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

動作環境operating

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

スケジュール・お申込み
(オンライン/セミナールーム開催)schedule・application

オンライン開催

セミナールーム開催

お申込後の流れflow

STEP

1

提供団体へ申込み

(お申込翌営業日)インソースがお客様のお申込を確認し、提供団体へ連携いたします
※空席がない場合、満席連絡をさせていただく場合がございますので予めご了承下さい

STEP

2

ご案内の送付

ご登録いただいたメールアドレスへ、ご受講日の約1週間前までに受講案内をお送りします
※研修主催の株式会社カサレアル 様より直接、ご受講案内メールが配信されます
※会場受講の方:お申込完了メールにて研修会場をご確認ください

STEP

3

受講開始

メールにてご案内したZoomミーティングIDを使用し、研修にご参加ください
※会場受講の方:開催時間をご確認のうえ、時間には余裕をもってご来場ください

最新作・ニュース

新卒採用募集中
ページトップへ
年間実績公開講座の年間実績
受講者数※1
開催数※1
講座数※2

WEBinsource
ご利用社数※2

※1 

※2 

研修を探す
開催地で探す
階層で探す
テーマで探す
コースマップで探す
日程で探す
課題・状況で探す
講師派遣型研修

お客さまの課題に応えるオーダーメイド型研修

研修一覧
動画教育・eラーニング

動画教育・eラーニング

データやDVDの買い切り、レンタル視聴、定額制見放題など、様々なプランでご提供します

メールマガジンのご登録

コンテンツクリエイターズワークス

生理の貧困対策支援PJ(企業向け)全力Q&A

生理の貧困対策支援PJ(自治体向け)全力Q&A

生理の貧困対策支援PJ自治体のお声

インソースからの新着メッセージ

    新作研修(講師派遣)

    業界随一の研修開発力を誇る
    インソースの最新プログラム

      コア・ソリューションプラン
      の新作情報

      250種類以上のコンサル事例!
      組織の「したい!」に全力で応える

        おすすめリンク