/** 実験 */
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 件のコメント:
コメントを投稿