/** 実験 */ public class Hoge { private Foo foo; private Bar bar; /** コンストラクタ1つ目 */ public Hoge(Foo foo, Bar bar) { this.foo = foo; this.bar = bar; } /** コンストラクタ2つ目 */ public Hoge(int number, String string) { new HogeExt(number, string); } public Hoge() { // コンパイラを通すのにとりあえず定義 } } class HogeExt extends Hoge { private int number; private String string; public HogeExt(int number, String string) { this.number = number; this.string = string; } } class Foo { // とりあえず未定義 } class Bar extends Foo { // とりあえず未定義 }コンストラクタのパラメータが2つの値を用意します。 index,valueな組み合わせを利用すると 単純なint,Stringの組み合わせが呼びだされる。 まぁ、当然と言えば当然なんだけど2つ目のコンストラクタが定義されていないときはExceptionが発生する。 どうしてもtypeではなくindexを使いたい場合はref属性で指定してやれば動いてくれることはわかった。 でも、コンストラクタインジェクションなんて使うかどうか。。。 僕的にはAspectJチック(と言っても範囲は広いけど)なことができれば十分だし。。。
水曜日, 10月 22, 2008
コンストラクタインジェクション-tyep指定とindex指定
はたして使うのかどうか。。。
とにかく一度動かしてみようってなことで、
あれこれ、リファレンスを見ながらやってみた。
いろいろと種類があるもんだ。
その中でもindex指定ってのがあった。
要はコンストラクタのパラメータの順番に設定を定義していくというものである。
で、気になったのがコンストラクタの定義が
登録:
コメントの投稿 (Atom)
failed to read qemu headerのときのメモ
かなり久々。。。 忘れないようにここに書きこんでおく。 ちょっとした手違いで libvirtでイメージを起動しようとすると failed to read qemu header なんておっしゃられて起動しない。。。 vmwareserverを使って...
-
かなり久々、別に放置していた訳じゃないです。 仕事の都合で、現在の開発環境に定義されているDDLスクリプトを抜き出す必要があったので、DBMS_METADATAパッケージを使用してみた。 前に(言っても2年くらい前)DB2で同じようなことをやった時にはdb2lookupっ...
-
unitテストを作ろうと思い、作って実行してみると途中で止まる。。。 「なんで?」 結局のところ、unitテストで実行しようとしたクラスにSystem.exit(int)があったのが原因だった。 それならば、System.exit(int)が効かなくなるおまじないはな...
-
今日は1年ぶりの仕事場でTracの設定をシコシコしてました。 さぁ、チケット発行・更新でメールを送ってやる!! と思ったら、まったく飛んでる気配なし。。。 とりあえず、ログをconsoleからfileへ変更 で、見てみたら notification on creatio...
0 件のコメント:
コメントを投稿