現場至上主義 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. Instagramでビジネスを変える最強の思考法…

    目次第1章 Instagramでビジネスを変える「基本」を知…

  2. Amazon Web Services 定番業務…

    目次[基本編]1章 Webシステム1‐1 […

  3. エンジニアが学ぶ金融システムの「知識」と「技術」…

    目次第1章 金融ビジネス、金融ITの変遷と現状1-1…

  4. 図解まるわかり ネットワークのしくみ

    目次第1章 ネットワークのきほん ~ネットワークの全体像を理…

  5. Web技術 最強の指南書

    目次第1部 Webの通信プロトコルを学ぶ第1章 HT…

  6. 技術者のためのテクニカルライティング入門講座

    目次第1章 ロジカルライティング×テクニカルライティング活用…

  7. エンジニアが学ぶ物流システムの「知識」と「技術」…

    目次第1章 物流に大きな変革の波が押し寄せている1-…

  8. すみっコぐらし学習ドリル 小学1・2年 はじめて…

    目次★プログラミングの考え方 じゅんじょれんしゅうも…

最近の記事

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

タグクラウド

PAGE TOP