Spring3入門―Javaフレームワーク・より良い設計とアーキテクチャ
この本の概要
もはや定番となったJava・オープンソースフレームワークのSpring Frameworkの実践的な入門書。これまでに,Spring入門,Spring2.0入門と発行してきたが,本書は機能の洗練と成熟がされた唯一無二のSpring3.1の解説書籍である。これまでの2冊の集大成ともいえる内容となり,DIコンテナといった概念もより精査されてソフトウェアアーキテクチャへの言及と実践ががより深いものになっている。また,クラウドにも対応して仮想環境化でのアプリケーション構築もぬかりなく解説を加えた。Javaによるアプリケーション開発を極めよ!
こんな方におすすめ
- Javaのエンジニア
- Web開発者,アプリケーションエンジニアなど
- Javaを愛し,その力をあますことなく活用したいエンジニアの皆さんに
目次
第1章 SpringとWebアプリケーションの概要
- 1.1 最新のSpring事情
- 1.2 Springのプロダクト
- 1.3 SpringとWebアプリケーション
- 1.4 Webアプリケーションとは?
- 1.5 アプリケーションアーキテクチャ
- 1.6 プレゼンテーション層の役割
- 1.7 ビジネスロジック層の役割
- 1.8 データアクセス層の役割
- 1.9 Webアプリケーションの抱える問題
- 1.10 Springの概要
第2章 SpringのDI
- 2.1 DIとは何か
- 2.2 DIの使いどころ
- 2.3 アノテーションを使ったDI
- 2.4 Bean定義ファイルでDI
第3章 SpringのAOP
- 3.1 DIxAOPコンテナ
- 3.2 AOPとは何か
- 3.3 Springが提供するAdvice
- 3.4 Proxyを利用したAOP
- 3.5 AOPの使いどころ
- 3.6 SpringAOP
第4章 データアクセス層の設計と実装
- 4.1 データアクセス層の役割
- 4.2 SpringJDBC
- 4.3 汎用データアクセス例外
- 4.4 データソース
- 4.5 まとめ
第5章 ビジネスロジック層の設計と実装
- 5.1 Webアプリケーションのトランザクション
- 5.2 トランザクションマネージャ
- 5.3 トランザクション機能の使い方
- 5.4 まとめ
第6章 プレゼンテーション層の設計と実装――Spring Web MVC編
- 6.1 Spring MVCの概要
- 6.2 環境作成
- 6.3 サンプルアプリケーションの概要
- 6.4 画面を表示するController
- 6.5 入力値を受け取るController
- 6.6 Spring MVCのその他の機能
- 6.7 まとめ
第7章 プレゼンテーション層の設計と実装――Spring Web Flow編
- 7.1 Spring Web Flowの概要
- 7.2 Spring Web FlowのState
- 7.3 Spring Web FlowとEL
- 7.4 Spring Web Flowの初期設定
- 7.5 簡単なフローを導入してみる
- 7.6 応用編
- 7.7 まとめ
第8章 Struts1とSpring の連携
- 8.1 本書が対象とするフレームワーク
- 8.2 Struts1の概要
- 8.3 サンプルアプリケーションの概要
- 8.4 どの方法がよいのか?
- 8.5 まとめ
第9章 Struts2とSpringの連携
- 9.1 Struts2とは?
- 9.2 Struts2を使用した簡単なサンプル
- 9.3 Action
- 9.4 Result(resultタグを使った遷移先のビューの設定)
- 9.5 ContextMap/OGNL/Struts-Tags
- 9.6 Interceptors
- 9.7 Validation
- 9.8 ExceptionMapping
- 9.9 ゼロコンフィグレーション
- 9.10 Struts2とSpringの連携
第10章 HibernateとSpringの連携
- 10.1 永続化に何を使えばいいのか?
- 10.2 Hibernateとは?
- 10.3 Hibernateの使い方
- 10.4 Hibernateの機能
- 10.5 Hibernateの課題とHibernateとの連携の目的
- 10.6 連携前のソースコード
- 10.7 インテグレーション機能によるHibernate連携
- 10.8 HibernateとSpringとの連携で起こるトランザクションに関わる落とし穴
第11章 JPAとSpringの連携
- 11.1 JPAとは何か?
- 11.2 POJOベースのドメインクラス
- 11.3 persistence.xmlファイルの編集
- 11.4 JPAの実行..EJBコンテナなしの場合
- 11.5 SpringのJPAインテグレーション機能
- 11.6 DAOクラスの実装
- 11.7 Bean定義ファイルの設定
- 11.8 遅延ロードの問題
- 11.9 遅延ロードを切る?
- 11.10 TransactionViewパターン
- 11.11 SpringのOpen EntityManagerInViewFilter
- 11.12 Triggering Lazy Loading
- 11.13 Transfar Objectを使う
- 11.14 選択
- 11.15 まとめ
第12章 MyBatis2.xとSpringの連携
- 12.1 SpringとMyBatis2.xとのインテグレーションの必要性
- 12.2 MyBatis2.xとは何か?
- 12.3 簡単なサンプル
- 12.4 MyBatis2.xの機能
- 12.5 MyBatis2.xとSpringの連携
- 12.6 まとめ
第13章 MyBatis3.xとSpringの連携
- 13.1 MyBatis3.xとは何か?
- 13.2 MyBatis3.xの主な構成物
- 13.3 MyBatis設定ファイル
- 13.4 マッピングファイル
- 13.5 Mapperインタフェース
- 13.6 Statement Builder
- 13.7 トランザクション処理
- 13.8 MyBatis3.xとSpringの連携
- 13.9 まとめ
付録A SpringSuiteのインストール
- A.1 STSのインストール
- A.2 プロジェクトの新規作成と設定
- A.3 プロジェクトのインポート
付録B Spring3.0以降の新機能
- B.1 Bean定義のプロファイル機能
- B.2 Object/XMLマッピング連携
- B.3 RESTクライアント
- B.4 Cache Abstraction(キャッシュ抽象)機能
- B.5 アノテーションによる非同期実行/スケジューリング実行
- B.6 組み込みデータベースサポート