著者:菊田英明
ページ数:465
¥980 → ¥0
・「Spring Bootで始めるWebアプリケーション開発入門(以下、『入門編』)」
・「Spring Bootで始めるWebアプリケーション開発入門(実戦編)(以下、『実践編』)」
の続編です。『入門編』はSpring Bootの基礎知識、『実践編』は(いわゆる)ポートフォリオを作るレベルの内容でしたが、本書はその先、実際のシステム開発で必要とされる知識を解説していきます。
想定している読者は、『入門編』『実践編』に続き、本書も
・ITシステム開発企業の新入社員
・転職してWebプログラマーになりたい人
・自分でも何かWebアプリケーションを作ってみたい人
といった方々です。
【前提知識】
本書を読み進めるには「Spring Boot」「Java言語」「HTML」「リレーショナルデータベース/SQL」などの知識が必要です。おおよそ以下のようなレベルを想定としています。
・Spring Boot
「Spring Bootで始めるWebアプリケーション開発入門(『入門編』)」
「Spring Bootで始めるWebアプリケーション開発入門(実戦編)(『実践編』)」で解説した内容
・Java言語
Listなどのコレクション、ジェネリックス、ストリーム/ライターがある程度わかればベストです。もし不安でしたら拙著「基本情報技術者 らくらく突破 Java(改訂3版)」など、専門書を都度参照してください。
・HTML
form要素、input要素、table/th/tr/td要素などがある程度わかればOKです。
・リレーショナルデータベース/SQL
簡単なSQL文(SELECT,INSERT,UPDATE, DELETE)を知っている程度で十分です。
【目次】
はじめに
本書開始の準備
・プログラムのインポート
・データベース
・テーブル
・動作確認
プロパティファイルの文字化け対策
1. テーブルの内容からリストボックスを作成する
1.1 ToDoアプリの全体構成(復習)
1.2 カテゴリリストの概要
1.3 categoryテーブル追加/todoテーブル変更
1.4 Categoryエンティティ追加/Todoエンティティ変更
1.5 カテゴリをToDo一覧へ表示する
1.6 カテゴリを入力する
1.7 アプリケーションスコープ
2. 複合主キー
2.1 自然キーと複合主キー
2.2 複合主キーの定義
(1) 複数列からなるPRIMARY KEY制約
(2) 複合主キークラスの定義
(3) 複合主キーを持つエンティティ
(4) カテゴリの表示・入力
3. 多対多(n:n)の関連
3.1 多対多の関係
3.2 中間テーブルの定義
3.3 グループ-ユーザーの関連付け(@ManyToMany)
3.4 ToDo-グループの関連付け
3.5 グループの入力
3.6 グループによる閲覧制限
3.7 グループによる編集制限
3.8 グループによる削除制限
4. Viewを利用したテーブルの検索
4.1 View
4.2 Viewのエンティティ化
4.3 (N+1)問題
(補足) v_todolistの定義内容詳説
5. トランザクション管理
5.1 導出項目
5.2 完了タスク数の追加
5.3 担当者/進捗率の追加
5.4トランザクション管理
5.5 Springのトランザクション管理
6. 楽観ロックによる排他制御(1)
6.1 同時実行制御
6.2 排他制御
6.3 楽観ロック
6.4 @Versionによる楽観ロック
7. 楽観ロックによる排他制御(2)
7.1 @Version(Todo)
7.2 Ealry Returnでネストを浅くする
8. 論理削除
8.1 物理削除と論理削除
8.2 @Whereによる論理削除
8.3 論理削除処理
8.4 @DynamicUpdate
9. 監査情報の出力
9.1 システム監査
9.2 監査情報出力アノテーション
(1)監査情報用アノテーション/プロパティの追加
(2) テーブルに監査項目追加
(3) イベントリスナーの作成
9.3.Converterの追加
9.4 エンティティの継承
10. 監査テーブルの作成
10.1 Hibernate Envers
(1) Hibernate Enversの導入
(2) Todoエンティティの変更
(3) Taskエンティティの変更
(4) 監査テーブルを自動生成する
10.2 Enversの拡張
(1) 名称変更
(2) RevisionListenerの実装
10.3 注意事項
参考資料
【著者について】
菊田 英明(きくた ひであき)
Java言語と出会ったのは1995年の終わりごろ。JDKはまだβ版だった。当初は「趣味」でJavaプログラムを書いていたが、いつのまにか仕事もJava一色となり、主にWebアプリケーションシステムの開発に従事してきた。某エンジニアリング会社勤務を経て2019年4月より個人事業主。近年は新入社員向けJavaの導入教育の講師も請け負っている。
■保有する資格
情報処理技術者試験
プロジェクトマネージャ
アプリケーションエンジニア
プロダクションエンジニア
データベーススペシャリスト
オンライン情報処理技術
基本情報処理技術者
Sun Certified Programmer for the Java Platform
■著書
「実践 JDBC―Javaデータベースプログラミング術 」(オーム社)
「SE・プログラマスタートアップテキストJSP 基礎」(技術評論社)
「基本情報技術者 らくらく突破 Java」(共著、技術評論社)
「Spring Bootで始めるWebアプリケーション開発入門」(Amazon Kindle)
「Spring Bootで始めるWebアプリケーション開発入門(実践編)」(Amazon Kindle)
【サポートサイト】
本書掲載のプログラムは以下のURLから入手できます。追加情報があれば、あわせて掲載します。
https://kktworks.github.io/
kktworks@gmail.com(お問い合わせ)
シリーズ一覧
- 同シリーズの電子書籍はありませんでした。
この期間中は料金が980円→0円となるため、この記事で紹介している電子書籍は、すべてこのKindle Unlimited無料体験で読むことが可能です。