[オンライン開催]Spring Boot 3 ではじめるWebアプリケーション開発入門

本研修は、オンラインでの開催です。オンラインオープン研修を初めてご利用の方は、はじめにこちらをご確認ください。


◆オンライン研修環境

使用ツール 動画配信:Zoom
質疑応答:オンラインチャットシステム(Mattermost)
演習環境:仮想デスクトップ

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



◆コース説明

Webアプリケーションの基礎をいま最も普及しているJavaフレームワーク「Spring Boot」を使って学習するコースです。

実際にプログラムを作成し動作を確認しながら学習することができます。


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アプリケーションを開発します。

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


※本コースは、2024年4月より改訂版にて実施いたします。


※受講に関する注意点※

進行の都合上、研修開始時間を過ぎてからのご参加はご遠慮いただいております。

大変恐れ入りますが、研修開始時間までにご参加いただけていない場合、

当日キャンセル扱いをさせていただく場合がございますのでご注意ください。

研修概要

  • 研修の目的
    ■ Webアプリケーションの基本を理解する
    ■ Spring Bootの概要、メリット、デメリットを説明できる
    ■ 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アプリケーションへのアクセス

    ※最新でより良い内容をお届けするため、一部の学習項目を予告なく変更する可能性がありますのでご了承ください。
  • 対象者
    ■ Webアプリケーションをはじめて学習する方
    ■ Spring Bootをはじめて学習する方
    ■ Spring Bootの基本的な使い方を知りたい方
  • 前提条件
    ■ 『オンライン研修環境』に記載のツール、機材のご用意が可能な方
    ■ 基本的なJavaプログラミングができる方(基本文法・オブジェクト指向・標準APIの利用など)
    ■ SQL(SELECT/INSERT/UPDATE/DELETE)の基本構文を知っている方
    ■ HTMLを使って簡単なWebページを作成できる方
  • 実行環境
    ■ Webブラウザ(Google Chrome)
    ■ JDK 21
    ■ Spring Boot 3.x 、 Spring Framework 6.x
    ■ Hibernate 6.x 、 Spring Data JPA 3.x
    ■ MySQL 8
    ※使用するソフトウェアおよびバージョンについては予告なく変更する可能性がありますのでご了承ください。
  • 配布資料
    ■ セミナーテキスト
    ■ ソースコード等
  • 開催日数
    3日間
  • 受講料
    181,500円
    (税込)※受講料にはテキスト代も含まれます。
  • お支払い
    研修終了後に請求書払いとなります。
    請求書は研修終了日の属する月の月末までに郵送させていただきます。
  • 時間
    9時30分~17時00分

開催日程

  • 終了
    2024年6月17日~2024年6月19日(3日間)
    【会場】 オンライン
  • 申し込む
    2024年8月5日~2024年8月7日(3日間)
    【受付】2024年7月26日まで
    【会場】 オンライン
  • 申し込む
    2024年8月21日~2024年8月23日(3日間)
    【受付】2024年8月13日まで
    【会場】 オンライン
  • 申し込む
    2024年9月11日~2024年9月13日(3日間)
    【受付】2024年9月3日まで
    【会場】 オンライン
  • 申し込む
    2024年9月24日~2024年9月26日(3日間)
    【受付】2024年9月12日まで
    【会場】 オンライン
  • 申し込む
    2024年11月20日~2024年11月22日(3日間)
    【受付】2024年11月12日まで
    【会場】 オンライン
  • 申し込む
    2024年12月9日~2024年12月11日(3日間)
    【受付】2024年11月29日まで
    【会場】 オンライン
  • 申し込む
    2025年1月15日~2025年1月17日(3日間)
    【受付】2025年1月6日まで
    【会場】 オンライン
  • 申し込む
    2025年2月12日~2025年2月14日(3日間)
    【受付】2025年2月3日まで
    【会場】 オンライン

Java研修(Java入門~Java EE/Java Framework)に関する研修一覧