現場至上主義 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. できるGoogle for Education …

    目次第1章 Google for Education の概要…

  2. 基礎から学ぶ人工知能の教科書

    目次第1章 人工知能とは1.1 人工知能の概要…

  3. プログラミング教育が変える子どもの未来 AIの時…

    目次第1章 なぜ、プログラミングを学ぶの?■ なぜ、…

  4. 新わかりやすいJava オブジェクト指向徹底解説…

    目次Chapter1 クラスの作り方…

  5. ソフトウェアデザイン 2019年12月号

    目次Special Feature1 サーバーレスでめざせ!…

  6. 小学校の先生のための Why!?プログラミング …

    目次1年生 音楽音と動きを合わせて演奏しよう…

  7. ドリルの王様 3,4年の楽しいプログラミング 新…

    目次じゅんじょ①じゅんじょ②じゅんじょ③…

  8. 図解 FinTechが変えるカード決済ビジネス

    目次第1章 なぜFinTechが誕生したのか?1 リーマ…

最近の記事

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

タグクラウド

PAGE TOP