[seasar-javadoc:234] Re: S2Container
Koichi Kobayashi
koichik @ improvement.jp
2006年 6月 16日 (金) 00:01:09 JST
小林 (koichik) です.
Date: Thu, 15 Jun 2006 06:42:10 +0900
From: "Makoto Yonezawa" <stratosphire @ gmail.com>
To: seasar-javadoc @ ml.seasar.org
Subject: [seasar-javadoc:233] Re: S2Container
> まずは、
> injectDependency()を追記しました。
>
> インジェクションする種類の話と、適合するコンポーネントをマッチさせるキーの種類を書きました。ご確認お願いしますm_ _m
ありがとうございます.
injectDependency(Object outerComponent) は個人的にはいい感じかと.
ただ,出だしの文の切れ目が分かりにくいので,もう一工夫した方が
いいのかもしれません.
マークアップを外すと
> * outerComponentのクラスをキーとして登録された
> * コンポーネント定義に従ってインジェクションを実行します。
となるのですが,うーん... 大丈夫かなぁ?
意見求む>ALL
あと,injectDependency(Object, Class) ですが,
> * <code>outerComponent</code>のクラスをキーとして登録された
こちらは outerComponent ではなく,第 2 引数の componentClass が
キーになります.
injectDependency(Object, String) も同様.
> 次にregister() 系のメソッドですが、
> 小林さんが、書いていたどのようなコンポーネントが登録されるかですが、
> 内容としては、
> *インスタンス定義
> *自動バインディング定義
> のことが書いてあればよいのでしょうか?
そうですね,この二つは必須かと.
> また、実装のほうをみているのですが、上記二つに関係する箇所がいまだ
> (っていっても15分・・・)みつかりません。
> どのあたりを参照すればよいか、ご教授お願いいたしますm_ _m
まずは S2ContainerImpl#register().
そこでクラスを登録した場合は ComponentDefImpl が
インスタンス化されています.
そこで ComponentDefImpl を見てみると...
private InstanceDef instanceDef = InstanceDefFactory.SINGLETON;
private AutoBindingDef autoBindingDef = AutoBindingDefFactory.AUTO;
そんなわけで (どんなわけで?),ココがその箇所です.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>koichik @ improvement.jp</e-mail>
</signature>
seasar-javadoc メーリングリストの案内