Spring中間報告

09/10/19
前述のJava・J2EE・オープンソース Spring入門 ~より良いWebアプリケーションの設計と実装を半分ほど読み進みました。DI(Dependency Injection:依存性注入)やAOP(Aspect-Oriented Programming:アスペクト指向プログラミング)について学ぶことができました。現在はSpringフレームワークを利用したDBプログラミングに入っています。


ここまで読んで、AOPを使用している身近な例を見つけました。それはEclipseの日本語訳を行っているPleiadesプラグインです。私は現在Eclipseの起動画面にPleiadesプラグインの画像を使用していますが、そこに「Pleiades AOP Transelation Container」と記述されていました。
少々調べてみると、PleiadesはSpringフレームワークとは違うAOPフレームワークを使用しているようですが、AOPを利用しているのは間違いなさそうです。
AOPの形式は主に二つあり、

  1. クラスロード時、実行時に対象クラスのバイトコードを修正する形式。
  2. 実行時に対象クラスのメソッドの呼び出しを傍受し、別のプログラムを織り込む形式。

があります。Pleiadesは1の形式を使用しているようです。
AOPを踏まえた形でPleiadesの動作を書き表すと、「Pleiadesは、Eclipseソースコードをまったく変えることなく、実行時に対象クラスのバイトコードを修正し、日本語訳の処理を織り込んでいる」と言えます。すごい!このようなプラグインを提供していただいている皆様に感謝しなくてはならないとさらに思いました。
Pleiadesのホームページ↓↓
http://mergedoc.sourceforge.jp/
Eclipseの日本語訳とよく使うツールを含めたAll-in-oneパッケージも提供されています。(但し、Windows版のみ)


Springの残りの部分、これからも読み進めていきます。