Spring Bootは、VMware社を中心にオープンソースで開発されている、高生産性・高機能性なフレームワークです。
本コースでは、Webアプリケーション開発未経験者の方を対象として、基本的なWebアプリケーション開発方法を講義+演習で学習します。
Webアプリケーションの基礎となるHTTPプロトコル、Get/Postメソッド、リクエストパラメータ、HTML(form)などを交えながらSpring MVCとThymeleafを利用した画面のあるWebアプリケーションから、Spring Data JPAによるDBアクセス、ファイルアップロードの実装まで、Webアプリケーションとして必要となる機能を実装できるようになります。
今最も主流であるフレームワークによるモダンな開発技術を、是非この機会に体験してみてください。
・Webアプリケーションをはじめて学習する方
・Spring Bootをはじめて学習する方
・Spring Bootの基本的な使い方を知りたい方
・基本的なJavaプログラミングができる方(基本文法・オブジェクト指向・標準APIの利用など)
・SQL(SELECT/INSERT/UPDATE/DELETE)の基本構文を知っている方
・HTMLを使って簡単なWebページを作成できる方
当コースを修了した時点で、次のことができることを目標とします。
1.Webアプリケーションの基本を理解する
2.Spring Bootの概要、メリット、デメリットを説明できる
3.DBアクセスを伴う基本的なWebアプリケーションを作成できる
1.Spring Framework/Spring Boot概要
Spring Frameworkとは
Spring Bootとは、Spring Bootのメリット
Spring Boot 3 Spring Boot 2からの主な変更点
2.超速習DIコンテナ
アノテーションによるBean定義
Java ConfigによるBean定義
3.Webアプリケーション概要
Webアプリケーション システム構成
HTTP、HTTPリクエスト、HTTPレスポンス
4.Spring MVCとThymeleafでHello World
Spring MVC/Thymeleaf
Spring MVCによるコントローラーの作成
Thymeleafによる画面の作成
リクエストパラメータを受け取る方法
Get/Postメソッド、リクエストパラメータ
リダイレクト、コントローラーでリダイレクトする
5.Bean Validationによる入力検証
基本的な入力検証
相関バリデーション
6.永続化層 Spring Data JPA
永続化層とは
Spring Data概要、Spring Data JPA概要
Spring Data JPAによる基本DBアクセス(CURD)
Spring Data JPAとSpring Data JDBCの比較(概要)
7.もっと Spring Data JPA
ページネーション/列ソートを利用した検索
命名規則ベースのメソッド名を使って条件検索
命名規則ベースのメソッド名を使って条件に応じた削除
8.ビジネスロジック層
ビジネスロジック層とは
トランザクション管理
永続化層との統合
Spring Data JPAリポジトリを利用した更新処理
Spring Data JPAとSpring Data JDBCの比較(詳細)
9.プレゼンテーション層
プレゼンテーション層とは
ビジネスロジック層との統合
10.例外処理 アプリケーション例外とエラーページ
業務エラーに対応した独自例外クラスとビジネスロジック層での例外処理
アプリケーションで発生した例外のハンドリング
Spring Bootでのエラーページ
11.セッション管理
HTTPセッションの仕組み
Spring MVCでのセッション管理
12.ファイルアップロード
ファイルアップロードコントローラーの作成
※上記スケジュールは予定となり、当日若干前後する可能性がありますのでご了承ください。
<付録> (研修では実施しませんが、以下の付録を配布いたします)
13.Spring Data JPA 2.x (Spring Boot 2.x/Hibernate 5)
Spring Data JPA 3.x (Spring Boot 3.x/Hibernate 6)との主要な違い
14.Spring Data REST (サンプルコードあり)
Spring Data JPAリポジトリをRESTful WebAPIとして公開する
HATEOAS/HAL/ハイパーメディア駆動とは
15.さらに Spring Data JPA (サンプルコードあり)
エンティティ同士を関連させる(@OneToOne/@OneToMany/@ManyToOne/@ManyToMany/@JoinColumn)
フェッチ戦略(FetchType EAGER/LAZY)、カスケード戦略(CascadeType)
関連エンティティを持つエンティティに対し、既存のfindById/findAllメソッドを呼び出してみる
@Queryを使ったQueryメソッドの追加、JPQL
JOIN FETCH、N+1問題の対策
16.レコードクラス (Java16~) (サンプルコードあり)
17.Spring Data JDBC版のWebアプリケーション サンプル (サンプルコードのみ)
18.永続化層/ビジネスロジック層のテスト (サンプルコードあり)
コンテナからBeanを取り出し永続化層/ビジネスロジック層をテストする(@SpringBootTestを使った統合テスト)
モック(永続化層)を利用しビジネスロジック層を単体テストする(Mockito @Mock/@InjectMocksを使う)
コラム Beanのスパイを使って統合テストをおこなう(@ExtendWith(SpringExtension.class)/@SpyBean)
19.プレゼンテーション層のテスト (サンプルコードあり)
MockMvcを使ってプレゼンテーション層をテストする
日数 | 3日間 |
---|---|
受講時間 | 9時00分 ~ 17時00分(昼休憩:60分) |
受講料 | 165,000円 (税別価格150,000円) |
キャンセル規定 | 受講開始10営業日前から受講料(購入価格)の100%のキャンセル料がかかります。 |
---|---|
その他 | ※実行環境 |
オンライン開催の場合は、以下の注意事項をご確認の上、事前にご準備ください。
(以下は2022年10月1日以降開催のコースに適用されます。
それ以前に開催のコースでは研修環境等が異なりますので、お問い合わせください。)
◆オンライン研修環境
●使用ツール
動画配信:Zoom
※業務用PCに追加アプリをインストールできない場合は、ブラウザからのご参加をお願いします。
※Zoomのシステム要件について、より詳細な情報は、こちらをご参照ください。
質疑応答:オンラインチャットシステム
演習環境:仮想デスクトップ
●システム要件
インターネットに常時接続できること
Webカメラおよびマイク
※PC本体の他に、モニターやiPad等の拡張ディスプレイをご用意いただくことを推奨いたします。
(1台目:Zoom、オンラインチャットシステム用、2台目:演習環境用)
●OS:Windows / ブラウザ:Google Chrome
上記以外の環境でもご受講いただくことが可能ですが、操作感が異なる可能性がある点をご了承ください。
Webアプリケーションの基礎をいま最も普及しているJavaフレームワーク「Spring Boot」を使って学習するコースです。 実際にプログラムを作成し動作を確認しながら学習することができます。