- 2008-08-07 (木)
- 技術
前に試したはずなのにそのナレッジが手元になかったのでもう一回入門編を試してみました。
JDKのバージョンは「1.5.0_10」で、Eclipseは「3.2」です。
Seaser2のダウンロード
Seaser2のダウンロードは以下から「S2Container 2.4.26」をダウンロードしました。
Seasar2 - Downloads
Eclipseへのインポート
Eclipseのメニューから
「ファイル」 →「インポート」 →「一般」 →「既存プロジェクトをワークスペースへ」 →「次へ」
を選択していって、「アーカイブファイルの選択」で先ほどダウンロードした「S2.4.26.zip」を選択する。
後は次へでインポート開始!
ここから20分ぐらいかかっちゃいましたw
もっと必要なものだけで遊んでみたかったのですが、Seaser2のjarだけじゃどうせだめだろうと思って20分真剣に待ってみました。
(Springのほうもそうですが、aopalliance.jarが必要だのcommons-logging.jarが必要だとか言われのが面倒なので)
Mainクラスの作成
mainメソッドを持つクラスを作成していきます。
とりあえずこんな感じ。
インターフェースの作成
こんだけ。
インターフェースをインプルしたクラス作成
メッセージをコンソールに表示するだけのクラスです。
diconファイルの作成
ダイコン・・・
少し補足ですが、
①はコンポーネントを手動で登録していくバージョンです。
複数のクラスをDIコンテナに登録する場合はここにすんごい量の記述が必要になります。
(後のAOPで定義しているのでコメントアウトしています)
②ここはSpringでいうところのautowireと同じ感じですね。
正規表現で記述すると自動で登録してくれます。これは便利です。
(後のAOPで定義しているのでコメントアウトしています)
③ロギング用のインターセプターの定義です。
これはSeaser2で用意してくれてるインターセプターのひとつのようです。
④traceInterceptorアスペクトをどのクラスにウィービング(織り込む)をするかの定義です。
呼び出すメソッドにしています。
実行結果
ようやく実行ができる状態になったのでいざっ!
Main.javaのソース上で「右クリック」→「実行」→「Javaアプリケーション」。
おお~、でたでた。
しかもAOPでトレースを出すインターセプターを設定しておいたので、BEGINとENDが出力されています。
まとめ
多分これだけだとSeaser2の利点であるホットデプロイが体感できないですが、初めの一歩としてはいいでしょう。
ただ疑問点が1個出た。
diconファイルの「①個別登録」の部分でnameを指定しているが、これはあれかなセッターインジェクション用なんだろうか。
name=""にしても問題がなかったから、(Service) container.getComponent(Service.class)で取得するときは型で判断してる?
次はS2Strutsだな。
【関連する記事】
- Seasar2のdiconファイルとSpringのapplicationContext.xmlを比べてみた
- bean:writeのfilter属性をfalseにした場合の挙動を追う
- RubyでJavaが書けるjRubyをインストールしてみた
- Newer: JavaScriptからfloatを取得するときはちょっとした工夫が必要
- Older: そり犬と遊ぶ白クマがすんごくかわいい
Comments:0
Trackback:0
- TrackBack URL for this entry
- http://hisasann.com/cgi-bin/mt/mt-tb.cgi/1089
- Listed below are links to weblogs that reference
- Seaser2を手軽に試すチュートリアル from HouseTect, JavaScripter Blog

