現場至上主義 Spring Boot2 徹底活用

目次
chapter1 Spring Bootの構成
1.1 Spring Bootの基礎
Spring Bootとは
スターター
ビルドツール
依存関係の管理
コンフィグレーションクラス
オートコンフィグレーション
メインアプリケーションクラス
設定ファイル
アプリケーションの起動
1.2 Spring BootによるWebアプリケーション開発
Developer tools
Restart vs Reload
1.3 サンプルプロジェクトの構成
マルチプロジェクト
アプリケーション・アーキテクチャ
サンプルプロジェクトのビルドスクリプト
Lombokを利用する

chapter2 Webアプリケーションにおける共通処理
2.1 バリデーション
メッセージの設定
バリデーションの種類
単項目チェック
相関項目チェック
2.2 オブジェクトマッピング
詰め替えコストの抑制
2.3 ログ出力
トレースするための共通処理
ログレベル
ログローテーション
2.4 ファイルダウンロード
PDFファイルのダウンロード
CSVファイルのダウンロード
Excelファイルのダウンロード
2.5 ファイルアップロード
ファイルサイズの設定
ファイルの取り扱い
ファイルのデータベースへの格納
2.6 メール送信

テンプレートエンジンの利用

 

chapter3 データアクセス
3.1 スターター
3.2 Domaの使い方
エンティティ
Daoインターフェース
SQLテンプレート
3.3 エンティティ共通処理
エンティティ基底クラス
エンティティリスナー
3.4 ページング処理
検索オプションによるページング処理
3.5 排他制御
楽観的排他制御
悲観的排他制御
3.6 論理削除
更新機能による実現
エンティティリスナーによる共通処理
論理削除レコードの除外

 

chapter4 セキュリティ
4.1 スターター
4.2 認証

認証の設定

認証情報の取得

ログイン機能
4.3 RememberMe

ログイン記録の永続化
4.4 認可

権限管理に必要なテーブルの作成

権限管理データをロード

権限とメソッドの紐付け

認可制御のインターセプター
4.5 CSRF対策

CSRF対策の拡張
4.6 二重送信防止

トークン管理

RequestDateValueProcessorの変更

二重送信防止トークンのライフサイクルを管理するインターセプター

二重送信防止トークンのチェック

 

chapter5 画面開発

5.1 Thymeleaf

Spring Bootでの thymeleafの利用

5.2 Formバインディング

Formバインディングの実装例

5.3 事前評価

事前評価の実装例

5.4 テンプレート共有

テンプレートの部品化

テンプレートの共通化

5.5 Thymeleafのその他の機能

エスケープなしのテキスト

日付操作拡張

5.6 静的コンテンツ管理

静的コンテンツの場所配置場所

キャッシュ制御

アクセス制御

クライアントライブラリの構成管理

 

chapter6 API開発

6.1 SpringでのAPI開発

API仕様

リソース実装

コントローラー実装

エラーハンドリング実装

6.2 SpringでのAPI連携

RestTemplate

ユーザー一覧取得APIへの連携

ユーザー作成APIへの連携

6.3 API開発効率の最大化

Swaggerとは

Springでの利用(Spring Fox)

Spring RESR Docs

 

chapter7 チーム開発

7.1 インフラの構成管理

Docker

Maven/Gradleでの利用

7.2 データベースの構成管理

Flywayの利用

7.3 メンテナブルなテストコード

Spock

7.4 ドキュメント生成ツールの活用

Sphinx

7.5 ソースジェネレータ

ソースジェネレータプラグインの導入

 

chapter8 運用

8.1 環境ごとの設定管理

Spring Profiles

環境ごとの設定管理

8.2 アプリケーションサーバー設定

実行可能Jar

アプリケーションサーバーの設定およびリリース

8.3 アプリケーションの状態確認

Spring Boot Actuator

主要なエンドポイント

ヘルスチェックのカスタマイズ

カスタムアプリケーション情報を追加する

Spring Boot Actuatorのセキュリティ制御

8.4 アプリケーション監視

Prometheus

Prometheusの導入

Prometheusのサービスディスカバリー

Springアプリケーションとの連携

メトリクスの可視化

アラート通知

8.5 リクエスト追跡

nginxトレース

nginxとのトレースIDの統合

8.6 レイテンシ分析

Spring Cloud Sleuth

リクエスト追跡データの見える化(Zipkin)

8.7 無停止デプロイ

ローリングデプロイ

ローリングデプロイ作業フロー

ローリングデプロイ作業手順

(補足)ローリングデプロイ(URLベースのヘルスチェック)

8.8 コンテナオーケストレーションツールへのデプロイ

コンテナイメージの作成

Kubernetes

 

chapter9 (Spring Bootアプリケーションが想定している)システム構成

9.1 システムアーキテクチャ考察

システムが必要とする要件

システム要件の検討

9.2 システムアーキテクチャ案

構成要素一覧

可用性

拡張性

コスト

9.3 構築チュートリアル

Infrastracture as Code(IaC)

Terraform

 

chapter10 Spring 5/Spring voot2の新機能

10.1 WebFlux

アノテーションを使った開発

関数型を使った開発

関数型を用いたプログラムの例

 

chapter11 ローカル開発環境の構築について

11.1 Gitのインストール

11.2 サンプルプロジェクトのダウンロード

サンプルプロジェクトのブランチ設定

11.3 Dockerのインストール

11.4 JDKのインストール

11.5 IDEのインストール

IntelliJの設定

IDEでサンプルプロジェクトを開く

アプリケーションを起動する

 

chapter12 サンプルアプリについて

12.1 管理アプリケーションが提供する機能

12.2 管理アプリケーションの利用方法

ログイン

システム担当者のパスワード変更

スピードマスター 1時間でわかる Webライティング

PHPフレームワーク Symfony 4 入門 

関連記事

  1. たのしい2Dゲームの作り方 Unityではじめる…

    目次第1部 ゲームを作る準備Chapter 01 ゲ…

  2. UnityによるARゲーム開発 ―作りながら学ぶ…

    目次1章 はじめに2章 プレイヤーの位置のマッピング…

  3. 図解でわかる在庫管理 いちばん最初に読む本

    目次1章 そもそも「在庫」ってなんでしょう?1-1 …

  4. SHIP 医療の現場を支え続けるシップヘルスケア…

    目次第1章 グループの理念と事業グループが掲げる「S…

  5. ゾンビ 対 数学 ― 数学なしでは生き残れない

    目次第1章 6時間後 生ける屍の授業開始第2章 7時…

  6. HTMLコーダー&ウェブ担当者のための…

    目次第1章 Webページが遅いのはなぜか…

  7. エンジニアのためのWordPress開発入門 (…

    目次第1章 WordPressとは1.1 WordP…

  8. スッキリわかるSQL入門 第2版 ドリル222問…

    目次第0章 データベースを学ぶにあたって0.1 デー…

最近の記事

  1. Microsft .NET C#
  2. れいといちかとまほうのトンネル
PAGE TOP