Spring入門 ―より良いWebアプリケーションの設計と実装

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

ダウンロード

ダウンロードファイルをLhaなどの解凍ツールで展開します。そうすると,Spring2to9-allというフォルダができあがります。

その中にSpringChap2からSpringChap9というフォルダができあがります。Chapの数字は,各章と対応します。たとえば2章で使用したサンプルソースコードは,SpringChap2の中にすべて収録されています。本書利用時に参照ください。

[注意その1]

各フォルダの中にReadme.txtがはいっています。使用前にはこれをかならずよく読んでから利用ください。

[注意その2]

なお,本書は,Spring Frameworkに興味を持ち,使ってみたい方を対象に製作しました。Java学習初心者は対象としていません。詳細な設定について,本書で掲載している以上の説明は行いませんのであらかじめご容赦ください。

お詫びと訂正(正誤表)

本書の掲載内容に下記の誤りがございました。読者の皆様,および関係者の方々にご迷惑をおかけしましたことを深くお詫び申し上げます。

P.6 表1.1「J2EEのリリースバージョンによる機能の追加」

※JMSからJCAまでの行が重複しています。失礼いたしました。(編集部)

P.49 僕と若手プログラマとの会話

最後の行「やる気がわいてきたぞ?」
「やる気がわいてきたぞ!」

P.75 表3.1 name属性の説明

 
(説明の先頭に,以下を追加)「オブジェクトに別名をつける。空白,「,」「;」で区切ることにより,複数の名前を付けることができる。」

P.75 表3.1 parent属性の説明

「継承関係で親に該当するidを記載する」
「設定情報を引き継ぐオブジェクトのidを指定する」

P.76 表3.2 Mapの設定

<entry>タグの上から2番目「<entry key="address"/>」
「<entry key="address">」

P.77 表3.2 継承関係ーBean定義は以下の内容に差し替え

 
<bean id="tarou" class="sample.Person">

<property name="name"><value>"太郎"</value></property>

<property name="age"><value>43</value></property>

<property name="address"><value>"東京都"</value></property>

</bean>

<bean id="hanako" parent="tarou">

<property name="name"><value>"花子"</value></property>

<property name="age"><value>12</value></property>

</bean>

P.77 表3.2 継承関係ー同義のJavaコードは以下の内容に差し替え

 
Person tarou = new Person();

tarou.setName("tarou");

tarou.setAge(43);

tarou.setAddress("東京都");

Person hanako = new Person();

hanako.setName("hanako");

hanako.setAge(12);

hanako.setAddress("東京都");

P.80 表3.3 Applicationコンテキスト内 FileSystemXmlApplicationContext行概要の利用例

ctx = new ClassPathXmlApplicationContext
ctx = new FileSystemXmlApplicationContext

P.85 中段 のリスト3.14-(2)[※正確にはマル2です]

スプリング太郎
スプリング 太郎

P.86 リスト3.14 「PersonのBean定義ファイル sample1.xml」

<value>春山 太郎</value>
<value>スプリング 太郎</value>

P.103

「4.2.3 Proxyを利用してアスペクトを織り込むタイプ」としてSeasar2を例として挙げましたが,正しくはJBossなどと同様にP.101の「4.2.2 バイトコードレベルのアスペクトを織り込むタイプ」にSeasar2は属します。

P.125 本文3行目

"クラスDebugIngerceptorは"
"クラスDebugInterceptorは"

※失礼しました。誤植です。(編集部)

P.144 小見出し

"PreparedStatementCreator"
"PreparedStatementSetter"

P.173 表5.10 独立性レベルの指定

・ISOLATION_READ_COMMITTEDとLost Updateの関係

「×」
「○」

・ISOLATION_READ_COMMITTEDとDirty Readの関係

「○」
「×」

・ISOLATION_REPEATABLE_READとUnrepeatable Readの関係

「○」
「×」

・ISOLATION_SERIALIZABLEとLost Updateの関係

「△」
「×」

P.176 図5.7「トランザクション機能を追加するクラス」

「FriendlyDaoIm pl」
「FriendlyDaoImpl」

※FriendlyDaoImとplの間にある空白は不要です。

P.207 リスト6.2

<bean id="/welcome.html" …
<bean name="/welcome.html" …

P.207 本文3行目

Bean定義の属性idに…
Bean定義の属性nameに…

P.207 表6.8 Bean名欄

id="…"
name="…"

P.266 図8.3 Hibernateのエンティティ生成・更新の基本的な手順

「4.クローズ」メッセージの位置に誤りがありました。
Sessionからエンティティを受取った直後にDAOオブジェクトがSessionオブジェクトに「4.クローズ」メッセージを送ります。

P.276 リスト8.11「PersonServiceImplクラスに例外処理を加えた例」

・1行目

"Remove PersonException"
"RemovePersonException"

※RemoveとPersonExceptionの間にある空白は不要です。

・3行目

”PersonDao.removePerson(person)"
”personDao.removePerson(person)”

※personDaoのように先頭は小文字で始まります。

・12行目

”personDao.addPerson(Person)”
”personDao.addPerson(person)”

※メソッドのパラメータはpersonのように先頭は小文字で始まります。

P.277 本文第1行目

"はどうした虜意だろう。
"はどうしたらよいだろう"

※誤植です。失礼しました(編集部)

P.280 XDocletは本当に使えるツールか?

最後の行「まず第一に,新しくXDcoletを覚えて」
「まず第一に,新しくXDocletを覚えて」