Spring MVC/Roo プログラミング入門

概 要

Javaで使えるWeb開発用MVCフレームワーク「Spring MVC」と高速開発ツール「Spring Roo」を一緒に解説する入門書です。クラウドサービスの普及により、誰でも手軽にJavaでサーバーサイド開発が可能になってきましたが、いまさらStrutsやStruts 2を始めるのも躊躇するという人におすすめするのが、先端技術がたくさん詰まったSpring MVC/Rooです。本書は、Spring Frameworkを使ったことがない人でもわかりやすいように、Spring Frameworkのセットアップから、Spring Tool Suiteの設定、Spring MVCを中心としたアプリケーション開発の基礎、Spring Rooを使った効率的な開発、Tilesなどのアプリケーション開発支援機能の使い方まで解説しています。サンプルコード・プロジェクトのダウンロードサービス付き。

著者 掌田津耶乃
価格 本体2800円(税別)
ISBN 978-4-7980-3991-6
発売日 2013/11/26
判型 B5変
色数 2色
ページ数 504
CD/DVD
対象読者 中級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 Spring MVC開発のセットアップ

1.1 サーバー開発とフレームワークの利用

サーバーサイドJavaの流れ

Strutsの功罪

Javaにおける「Rails」的なもの

Spring MVCを選ぶ理由

Spring Frameworkの概要

Spring FrameworkによるWebアプリケーション開発とは?

1.2 Spring Frameworkのセットアップ

Spring Tool Suiteを入手する

STS利用の注意点

Windows版のインストール

Mac OS X版のインストール

EclipseへのSTSのネットワーク経由インストール

STSの日本語化について

Pleiadesのインストール

Mac OS X版STSへの組み込み

1.3 STSを使おう

STSを起動する

基本画面と「ビュー」

その他のビューについて

パースペクティブについて

その他のパースペクティブを開く

パースペクティブの種類

1.4 プロジェクトの作成から実行まで

プロジェクトとは?

Springプロジェクトを作成する

Mavenプロジェクトとは?

STSのエディターと支援機能

tc Serverによるアプリケーションの実行

作成されたアプリケーションについて

プロジェクトの基本構成

「src」フォルダの構成

プロジェクトの設定について

1.5 DIの仕組みについて

DIはBeanを作る機能?

Springプロジェクトを作成する

Beanクラスを作る

Bean設定ファイルを作る

メインプログラムを作成する

アプリケーションを実行する

依存性注入の意義

Chapter 2 Spring Tool Suiteをマスターする

2.1 STSの基本設定

Preferencesウインドウについて

「General」の設定について

General/Editorsについて

Javaについて

Java/Editorについて

Springについて

SpringSourceについて

その他の設定について

2.2 開発を支援する重要なメニュー

<Source>メニューの働き

<Refactor>メニューの働き

<Edit>メニューの検索について

<Search>メニューの検索について

Chapter 3 アプリケーションの基本

3.1 Springの基本を理解する

コントローラーとビュー

showMessage.jspをチェックする

コントローラーを作成する

コントローラーを変更する

mvc-config.xmlをチェックする

mvc-config.xmlのタグについて

Spring Frameworkは「Bean」が重要!

STSのXMLエディターについて

ソースコードエディターか、ビジュアルエディターか

DispatcherServletとweb.xml

application-config.xmlについて

3.2 フォームの基本

フォーム送信の考え方

FormModelクラスの作成

showMessage.jspにフォームを用意する

MyAppControllerの編集

リクエストハンドラの処理をチェックする

リクエストハンドラの定義問題

CharacterEncodingFilterの追加

Spring MVCを使わないやり方

@RequestParamによるパラメータの受け渡し

ModelAndViewクラスの利用

ビューテンプレートを編集する

コントローラーを編集する

ModelAndViewとフォーム送信

FormModelを使ったフォーム処理

Chapter 4 ビューとコントローラーをマスターする

4.1 フォームを使いこなす

コントロールの基本属性

さまざまなテキスト入力

テキスト関連タグを利用する

チェックボックスの利用(<form:checkbox>)

複数のチェックボックスをまとめて作る<form:checkboxes>

ラベルと値を設定する(itemLabel属性とitemValue属性)

ラジオボタン(<form:radiobutton>)について

ラジオボタンをまとめて作成する

<form:select>による選択リストの作成

リストで複数項目を選択する

オプションを使った選択リストの作成

4.2 バリデーションの利用

Spring MVCとBean Validation

サンプル:買い物メモを作る

ビューテンプレートの変更

コントローラーの変更

バリデーション用ライブラリをロードする

バリデーション用アノテーションを追加する

フォームタグに追記する

コントローラーを書き換える

javax.validationのアノテーション

Hibernate Validatorによるアノテーション

メッセージのカスタマイズ

ValidatorMessages.propertiesについて

ValidatorMessages.propertiesを追加する

mvc-config.xmlを編集する

個別にメッセージを表示する

オリジナルのバリデータを作成する

PhoneValidatorクラスの作成

PhoneValidatorの実装

Phoneアノテーションクラスを作る

Phoneバリデータを使う

onlyNumber設定を追加する

PhoneValidatorクラスの変更

Chapter 5 モデルとデータベースアクセス

5.1 JPAによるデータベースの利用

Spring Frameworkにおける永続化のアプローチ

モデルに必要な技術について

pom.xmlの変更

database.propertiesの作成

persistence.xmlの作成

application-conf.xmlの変更

エンティティクラスについて

MyDataクラスの作成

エンティティクラスのアノテーションについて

5.2 Data Access Object

DAOインターフェイスの用意

DAOクラスの実装

EntityManagerFactoryについて

EntityManagerによるエンティティの取得

EntityTransactionによるトランザクション処理

コントローラーの実装

ビューテンプレートの修正

5.3 エンティティの基本操作

CRUDをDAOに追加する

エンティティの検索

エンティティの更新

更新用リクエストハンドラを追加する

リクエストハンドラの内容をチェックする

エンティティの削除

コントローラーに削除処理を追加する

更新と削除にアクセスする

Chapter 6 モデルを更に活用する

6.1 JPQLを活用する

JPQLの基本

find.jspの作成

コントローラーの追加

DAOへのfindメソッド追加

JPQLへのパラメータ設定

複数の名前付きパラメータは?

「?」による番号指定のパラメータ

@NamedQueryによる名前付きクエリー

6.2 Criteria APIによる検索

Criteria APIの基本3クラス

Criteria APIによる全要素の検索

Criteria APIによる名前の検索

値を比較するためのCriteriaBuilderメソッド

orderByによるエンティティのソート

取得位置と取得個数の設定

6.3 サービスとリポジトリ

サービスとは?

application-config.xmlの変更

MyDataServiceを作る

コントローラーでサービスBeanを使う

リポジトリ用パッケージを用意する

リポジトリクラスMyDataRepositoryを作成する

リポジトリを利用する

リポジトリのメソッドをチェックする

エンティティの更新

自動生成可能なメソッド名

JPQL生成メソッドの利用例

メソッド生成を活用するためのポイント

エンティティのバリデーションについて

6.4 エンティティの連携

連携のためのアノテーション

MsgDataエンティティを作る

MyDataを修正する

MsgDataDaoの用意

ビューテンプレートの用意

コントローラーを追記する

プロパティエディターの作成

Chapter 7 Spring Rooによる高速開発

7.1 Rooでアプリケーションを作る

Spring Rooとは何か?

Spring Roo利用の準備

Mavenの用意

プロジェクト作成の準備

STSでRooプロジェクトを作る

Roo Shellを閉じてしまったら?

Rooプロジェクトの内容をチェック!

pom.xmlの追記

applicationContext.xmlについて

webmvc-config.xmlについて

データベースのセットアップ(persistence setup)

7.2 RooプロジェクトのMVC

コントローラーを作る

HeloControllerをチェックする

views.xmlについて

index.jspxについて

レイアウトはどこにある?

フォームを送信する

7.3 エンティティとScaffold

エンティティを作成する

MyDataを使ってみる

MyDataエンティティのソースコード

MyDataControllerのソースコード

AspectJファイルについて

MyData_Roo_Jpa_Entityについて

MyData_Roo_JavaBean.ajについて

MyData_Roo_ToString.ajについて

MyData_Roo_Jpa_ActiveRecord.ajについて

MyDataController_Roo_Controller.ajについて

finderコマンドを使う

Nameによる検索機能を作る

Finder用コントローラーについて

Finder用ビューテンプレートについて

Chapter 8 アプリケーション開発を支援する機能

8.1 Tilesによるレイアウト

Rooプロジェクトのレイアウト

レイアウトの構成

レイアウト関連ファイルについて

default.jspxの内容をチェックする

ヘッダー、フッター、メニューをチェックする

カスタムタグの仕組み

テーマのスタイル

テーマの作成

8.2 Rooプロジェクトのページ作成

コントローラーを使わない新規ページ

コントローラーを経由しないページ作成

hello.jspxの作成

ビューコントローラーの設定

メニューに表示を追加する

メニュー関連プロパティの追加

コントローラーを使ったページの作成

MyDataに検索メソッドを追加する

コントローラーにfindリクエストハンドラを追加する

ビューテンプレートを作成する

8.3 Spring TestによるMVCのテスト

STSでのテスト実行

src/test/java/について

IntegrationTestクラスについて

テスト処理のAspectJファイル

Assertクラスによるテスト

Assertクラスの主なメソッド

assertThatによるチェック

エンティティの自動生成

MockMvcによるテスト

MockMvcの基本コード

MyDataControllerTestのポイントをチェックする

andExpectとMockMvcResultMatchers

Seleniumによるテスト

Selenium関連ファイルについて

Seleniumのテスト内容の記述

8.4 Spring Securityによる認証機能

Spring Securityによるアクセス制御

applicationContext-security.xmlについて

アクセス制御の記述について

アクセス制限を追加する

Forbiddenのエラーページを用意する

PR

秀和システム