はじめに
「Spring Framework 徹底入門」を読み返すにあたって、各章の見出しを書き出したもの。
詳細は↓ の書籍を参照
CHAPTER 1 Spring Framework とは
Spring Framework の概要と歴史
CHAPTER 2 Spring Core (DI x AOP)
Spring のコア機能の解説
DI(Dependency Injection)
コンポーネントを構成するインスタンの生成と依存関係の解決をソースコードから分離する。
DIコンテナを経由してインスタンスを管理する。
・インスタンスのスコープを制御できる
・インスタンスのライフサイクルを制御できる
・共通機能を組み込める
・コンポーネント間が疎結合になるため、単体テストがしやすくなる
Spring Framework 以外の有名なDIコンテナフレームワーク
・CDI(Contexts & Dependency Injection)
・Google Guice
・Dagger
AOP(Aspect Oriented Programming)
「横断的関心事の分離(Separation Of Cross-Cutting Concerns)」を実現するためのアスペクト思考プログラミング。
Springプロジェクトで使用されているAOP
・トランザクション管理
・認可処理
・キャッシュ処理
・非同期処理
・リトライ処理
データバインディングと型変換
プロパティ管理
アプリケーション内で使用する設定値を解決する仕組みについて。
Spring Expression Language (SpEL)
Spring Expression Language (SpEL) は、Spring Framework が提供しているExpression Language。
リソースの抽象化
リソースへのアクセス方法
メッセージ管理
メッセージの管理諸々(多言語サポート)
CHAPTER 3 データアクセス(Tx,JDBC)
Spring が提供するデータアクセス支援機能のSpring JDBCについて。
・アプリケーション内に定義したデータソース
・アプリケーションサーバーに定義したデータソース
・組込みデータベースのデータソース
・JdbcTemplate クラスを利用したCRUD操作
・トランザクション管理
・データアクセスエラーのハンドリング
CHAPTER 4 Spring MVC
Spring MVC を利用したWebアプリケーションの開発方法。
・POJO (Plain Old Object) での実装
・アノテーションを使用した定義情報の指定
・柔軟なメソッドシグネチャの定義
・Servlet API の抽象化
・View の実装技術の抽象化
・Spring の DIコンテナとの連携
CHAPTER 5 Webアプリケーションの開発
Webアプリケーション開発に必要となるコンポーネント(Controller、フォームクラス、Viewなど)の詳細。
・アプリケーションの設定
・@Controllerの実装
・リクエストマッピング
・リクエストデータの取得
・フォームクラスの実装
・入力チェック
・画面遷移
・Viewの解決
・JSPの実装
・Spring のHTMLフォーム用タグライブラリの利用
・Spring の汎用タグライブラリの利用
・例外ハンドリング
CHAPTER 6 RESTful Web サービスの開発
RESTful Webサービス(REST API)の開発について。
・REST API のアーキテクチャ
・アプリケーションの設定
・@RestController の実装
・リソースクラスの実装
・例外ハンドリング
・REST クライアントの実装
CHAPTER 7 Spring MVC の応用
・HTTP セッションの利用
・ファイルアップロード
・非同期リクエストの実装
・共通処理の実装
・静的リソース
・国際化
CHAPTER 8 Spring Test
Springアプリケーションに対してテストを行う方法。
CHAPTER 9 Spring Security
Webアプリケーションに対してセキュリティ対策を行う方法。
・認証機能
・認可機能
・セッション管理機能
・CSRF対策機能
・ブラウザのセキュリティ対策機能との連携機能
・Spring Security のテストの方法
CHAPTER 10 Spring Data JPA
Spring Data JPA の機能を使用してJPA (Java Persistence API) を用いる方法。
CHAPTER 11 Spring + MyBatis
Spring + MyBatis の利用方法。
・MyBatis でのCRUD操作(基礎・応用)
CHAPTER 12 Spring + Thymeleaf
View にJSP ではなくThymeleaf を使用する方法。
CHAPTER 13 Spring Boot
Spring Boot を使うと、Java Config によるBean定義、ログの設定、Servlet の設定が不要になる。
さらに、アプリケーションサーバーへのデプロイも必要なくなる。