Spring Frameworkを利用する場合、構成ファイルでアプリケーション全体の構成情報を記述します。そのため、ファイルが肥大化してしまうことが以前のSpringの問題点の1つでした。
この対処法としてアプリケーションのレイアー(プレゼンテーション、ビジネスロジック、データアクセス(MVCモデル))ごとなどで異なる構成ファイルを複数作成して、それぞれのレイアーで読み込むというような工夫をすることも考えられます。しかし、このような方法で構成ファイルを分割した場合、それぞれの構成ファイル内で記述されるBeanの設定は「構成ファイル」をまたがって相互に参照できません。
Spring IDE 2.0では構成ファイルセット(Configファイルセット)という仕組みを用いることでこの問題に対処できるようにしています。
以下で、構成ファイルセットの設定方法を紹介します。
1.Eclipseの[リソースエクスプローラー]または[パッケージエクスプローラー]でプロジェクトのノードを右クリックしてコンテキストメニューから[プロパティー]を開く
2.左側のリストからプロパティページ[Spring]→[Beans Support]を選択する(図12)
3.[構成セット]と書かれた2個目のタブを選択する(図12)
4.[新規]ボタンをクリックし、Springの構成ファイルとして認識されたファイルの一覧を表示する(図13)
5.[新規Spring Bean構成セット]ダイアログで、構成セットに含めるファイルおよび、構成セットの名前を指定する
6.[bean上書きを使用可能にする(O)]のチェックボックスにチェックを入れると、同じIDを持つ複数のBeansは最新のBeansに上書きされる(有効化した場合、Beanの複数定義はエラーとしては扱わない)
7.[不完全(I)]のチェックボックスにチェックを入れると、このコンフィグセットがほかのコンフィグセットで定義されているBean設定を参照できる(有効化した場合、参照が解決されないBeansがエラーとして扱われない)
またSpring IDEでは、構成ファイル内のほかのBeanの設定を参照する補完機能(後述)が利用できますが、構成ファイルセットを作成しておくことで、分割された複数のファイルをまたがって補完機能の候補とすることができます。
Spring IDEにSpring構成ファイルを認識させると、構成ファイルに対する補完機能や静的検証機能が利用可能になります。
補完機能とは構成ファイルの入力補助に利用できる機能であり、「Ctrl+Space」で入力候補を表示しながら構成ファイルを編集できる機能です。Spring IDEを使うことで、クラスの完全修飾名の補完やBeanの名前の参照時の補完など、高度な補完が利用可能となります。
Spring IDEを使うことで利用可能となる「静的検証機能」とは、構成ファイルを変更・保存した際に構成ファイルのエラーを検証する機能です。検証時にエラーが見つかった場合は、エディタ上のエラー発生場所にマーカー表示されます。
また、Eclipseの[問題]ビューにもエラーが表示されます(図14)。
Spring IDEをインストールすることで利用可能となるビューの1つが[Spring Explorer]です。この[Spring Explorer]は、Spring IDEで指定したSpring構成ファイルの内容をツリー状に一覧表示するビューです。ツリー表示された各ノードをダブルクリックすると、対応するコンフィグファイルの位置に移動します。
[ウィンドウ(W)]→[ビューの表示(V)]→[その他(O)]→[Spring]→[Spring Explorer]の順に選択することで表示できます(図15)。
Springの構成ファイルは肥大化しがちですが、この[Spring Explorer]を使うことで大きな構成ファイルであっても目当ての要素を探し出すことが容易です。しかし、この[Spring Explorer]では、Bean要素の関連をたどることはできません。そういった場合は、次に紹介するSpring構成ファイルのグラフィカル表示機能を利用します。
[Spring Explorer]ビューのツリー要素(コンフィグ、コンフィグセット、またはBean)を右クリックし、コンテキストメニューで[Open Graph(G)]を選択すると、選択したBean設定とその参照先のすべてのBeanを含む図を表示できます(図16)。
この機能を使うことで、構成ファイルのBeanの参照関係を調べたり、印刷したりすることができます。
また、JPG形式のファイルを保存して仕様書などで利用することも可能です。[ファイル(F)]→[別名保管(A)]と選択して、JPGファイルの保存場所を指定してください。
ただし、このビューは参照専用です。このビュー上では編集はできないので、注意が必要です。
今回は、Spring IDE 2.0のインストールを中心に、Spring IDE 2.0の機能について解説しました。Spring IDEのように、ウィザードベースで簡単に設定できることは、さまざまなスキルレベルのメンバーが参画するプロジェクトチームで標準的に利用する場面を考えると重要です。
また、ファイルの分割や構成ファイルのツリー表示・グラフィカル表示といった機能によって、Springの弱点の1つとされてきた設定ファイルの肥大化に関する問題を解決できます。さらにグラフィカル表示機能を使うことで、詳細設計ドキュメントの一部とすることも可能です。Spring IDEを使うことで、Spring Frameworkでの開発効率は高くなるでしょう。
次回は、Spring Framework 2.0の新機能に焦点を当てて解説していきます。
@IT関連記事
DIとAOPがサーバ・コンポーネント技術を変える
J2EE Watch(7) EJBのような重量級のコンテナに対するアンチテーゼとして登場したDI。いまやDI+AOPは、J2EEの未来にも影響を与える存在となりつつある
「Java Solution」フォーラム 2005/6/17
Spring Frameworkで理解するDI
最近よく耳にする「DI」は、オブジェクトの再利用性を高めるとして注目される新しい考え方だ。このDIをSpringを使いながら理解する
第1回 DI:依存性の注入とは何か?(2005/4/29)
第2回 Springフレームワークの設計思想とAOP(2005/11/23)
第3回 AOPサンプルアプリで理解するAOP(2005/12/3)
第4回 なぜDIコンテナを使うのか(2006/8/10)
連載各回の解説はこちら
Java EE 5マイグレーションプラクティス
「Java EE 5」の登場は近い。マイグレーションの近道は、実はJSF、Spring、Hibernateを使い、理解するところにある
第1回 JSF・Spring・Hibernateで次世代Javaに備える(2005/7/6)
第2回 鍵はPOJOベースのアプリケーション・デザイン(2005/7/23)
第3回 JSFベースのプレゼンテーション・デザインを考える(2005/8/27)
第4回 擬似EJB3.0環境をSpringとXDocletで作る(2005/10/20)
第5回 Sインテグレーション層のDAOデザインを考える(2006/1/6)
連載各回の解説はこちら
Seasar Projectの全貌を探る
国産オープンソースプロダクトのコミュニティとして急成長するSeasar2。大手SIerもサポートを表明したJ2EEプロダクトの全貌を探る
第1回 次世代J2EEを目指すSeasar2はどう誕生したか(2005/6/9)
第2回 DI+AOPを実現するSeasar V2(2005/7/16)
第3回 SeasarV2によるDBアクセス機能(2005/9/3)
第4回 SeasarV2によるテスト機能(2005/10/1)
第5回 SeasarのO/RマッピングツールS2Dao(2005/12/23)
第6回 SeasarのDBアクセスにHibernateを使う (2006/1/19)
連載各回の解説はこちら
アスペクト指向プログラミング オーバービュー
The Rational Edge 24) IT業界はソフトウェア構築アプローチの改良の歴史でもある。このラインアップに最近加わったのが、アスペクト指向プログラミングだ
情報マネジメント > アーキテクチャ 2004/4/13
アスペクト指向のバリエーション解説
この連載では「アスペクト指向とは何か?」というところから始め、AspectJやJBossAOPなどを用いたAOPの実装を紹介していく
第1回 アスペクト指向の基礎とさまざまな実装
第2回 AspectJから学ぶアスペクト指向の理解
第3回 JBoss AOPとAOPフレームワークの役目
第4回 「AspectWerkz」の利用法
第5回 アスペクト指向理解のまとめ
情報マネジメント > アーキテクチャ
Copyright © ITmedia, Inc. All Rights Reserved.