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 |
---|---|---|---|---|
11月20日(水) 〜 11月22日(金) | オンラインオープン研修(カサレアル社) | 受付締切 | 11月7日(木) | 72 |
12月9日(月) 〜 12月11日(水) | オンラインオープン研修(カサレアル社) | 受付中 | 11月26日(火) | 73 |
1月15日(水) 〜 1月17日(金) | オンラインオープン研修(カサレアル社) | 受付中 | 1月2日(木) | 60 |
2月12日(水) 〜 2月14日(金) | オンラインオープン研修(カサレアル社) | 受付中 | 1月30日(木) | 61 |
3月10日(月) 〜 3月12日(水) | カサレアル品川トレーニングセンター | 受付中 | 2月25日(火) | 01 |
キャンセル規定 | 受講開始10営業日前から受講料(購入価格)の100%のキャンセル料がかかります。 |
---|---|
テキスト | ※配布資料 |
オンラインクラス | オンライン開催の場合は、以下の注意事項をご確認の上、事前にご準備ください。 ■使用ツール 動画配信:Zoom 質疑応答:オンラインチャットシステム(Mattermost) 演習環境:仮想デスクトップ ※業務用PCにZoomアプリをインストールできない場合は、ブラウザからのご参加をお願いします。 ※Zoomのシステム要件について、より詳細な情報は、こちらをご参照ください。 ※Mattermostおよび演習環境は弊社にてご用意いたします。 ■システム要件 ・インターネットに常時接続できること (アクセス制限のないネットワーク環境をご利用ください) ・Webカメラおよびマイク ※PC本体の他に、モニターやiPad等の拡張ディスプレイをご用意いただくことを推奨いたします。 (1台:Zoom、オンラインチャットシステム用、1台:演習環境用) ※事前にアクセス確認をご希望される方はお問い合わせください。 ■OS/ブラウザ ・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」を使って学習するコースです。 実際にプログラムを作成し動作を確認しながら学習することができます。