tanigonのS2部屋

メイン日記はこちら(tanigonの日記)

2004-08-27

[] 気のせい?

<component class="com.dumbster.smtp.SimpleSmtpServer" name="dumbster">
  @com.dumbster.smtp.SimpleSmtpServer@start(12345)
</component>

みたいな感じでdiconを書いたときに

[component] 式言語class属性の両方が記述されています

と、ごもっともなのですが、まにあるを見ると

class属性(任意)
クラスの完全限定名を指定します。
ボディで、OGNL式を使ってコンポーネントを指定した場合は、class属性を省略することができます。
OGNL式を使った場合にclass属性を指定すると、型チェックを行います。

というわけで、型チェックを行ってくれる(素晴らしい)という機能があるようなので、この警告って「ほんとに意図してますか?」という警告なのかな.

切れると嬉しいなー...っていうか単純に私の勘違い!? そんな気がしてきた

Kijimunaメモ

<aspect>SomethingUnknown</aspect>

<aspect>タグの中身に指定している参照がcomponent宣言されていなくてもエラーにはならない。

っていうかこんな単純なミスすんなよ... > 自分

S2TestCase関係メモ

instance="singleton"

もしくはデフォルトの場合、これがコンテナによって解釈・インスタンス生成・存在する場合はfieldInjection...されるのはテストメソッドごと。なので"singleton"をちょいと誤解しやすい。テストメソッドの中で何回getComponent()してもsingletonですよ、ということで、テストメソッド間でsingletonというわけではない、ようだ。

instance="prototype"

しておけば、必要なときに取りにいけばそのときに生成される。ただしS2TestCaseでfieldInjectionしてもらう時はだめぽ(これは当たり前)

S2TestCase関係メモ

<component name="dumbster">
  @com.dumbster.smtp.SimpleSmtpServer@start(12345)
</component>

のようなケースのとき、getComponent()ならclasscastで何の問題もないが、

  SimpleSmtpServer dumbster;

のようにfieldInjectionを期待しているものがある場合、例外になってテストケースは全て失敗する。どうもAssignable関係でうんぬんかんぬん。これはcomponentタグにclass属性を付けてあげればもちろん解決する。それかgetComponent()をcastして使うか。前者がオススメ。

fieldInjectionについては別の日記でかなり否定していたがS2TestCaseはすでにコンテナに依存しているのでこれはアリだと自己解決。 fieldInjectionされますよ、というのはコンテナに依存するコンテナ(というかS2TestCase)の便利機能で、テストケースのクラスもこれに依存しているのでこれは無問題

BubuBubu2012/10/28 18:12Woot, I will cretialny put this to good use!

tpawxmtpawxm2012/10/29 05:22P9SeJF <a href="http://cuswananoudj.com/">cuswananoudj</a>

lktjhqmtjxrlktjhqmtjxr2012/10/30 18:07cEoAjN , [url=http://kzfmxhzujvxv.com/]kzfmxhzujvxv[/url], [link=http://jsfylyutoqbg.com/]jsfylyutoqbg[/link], http://rmizixsuyfjx.com/

luyukpbssskluyukpbsssk2012/10/31 00:58XbvxxX <a href="http://hmsexovcvvml.com/">hmsexovcvvml</a>