現場至上主義 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. 「おもしろい人」の会話の公式 気のきいた一言がパ…

    Chapter1 なぜあなたの会話は、ウケないのか?楽しく会話をする…

  2. 小中学生からはじめるプログラミングの本 2019…

    目次第1章 はじめに知っておいてもらいたいこと第2章…

  3. 60分でわかる! eスポーツ 最前線 (60分で…

    目次Chapter1 eスポーツが注目されているのはなぜ…

  4. あなたの知らないセキュリティの非常識

    目次最新の攻撃手口を知っておこう1 SNSで近づく女…

  5. ソースコードで体感するネットワークの仕組み ~手…

    第1章 本書で扱うプロトコル1-1   ネットワークプロトコ…

  6. はじめてのカスタマージャーニーマップワークショッ…

    目次Cp01 カスタマージャーニーマップとは・期待さ…

  7. 親子で学ぶScratch学習ドリル どすこい! …

    目次プログラミングの世界へようこそお父さまお母さまへ…

  8. ドリルの王様 5,6年の楽しいプログラミング 新…

    目次順序①順序②順序③順序④…

最近の記事

  1. れいといちかとまほうのトンネル

タグクラウド

PAGE TOP