は私が@SpringBean
Wicket @SpringBeansにScalaをどのように埋め込むのですか?
class ScreenDetailsPage(parameters: PageParameters) extends BasePage(parameters) {
@SpringBean(name = "screenDAO") protected var screenDao: DAO[Screen] = null
assertNotNull(screenDao)
でウィケットPage
を持っていると私は@SpringBeanが取り込まれていないことがわかります。 screenDao
がvalまたはvar、protectedまたはprivateの場合は違いはありません。
ツリーを調べると、Component
のコンストラクタは、そのサブクラスに代わって(間接的に)@SpringBean
を初期化しますが、nullへの代入は初期化されません。しかし、この割り当てはScalaによって要求されます。
どうすればこの現象を防ぐことができますか?
私はこの場所が大好きです。私は土曜日に15分でこれに答えることができると思っていました。 –
これは、フィールドが最終としてマークされている場合でもJavaコードが動作するvalではなく、varとしてのみ機能するという点でわずかな煩わしい点です。しかし、以前のInjectorHolder.getInjector.inject(これ)の修正よりはるかにクリーンなので、私が得ることができることを喜んで覚えています。 –
BTW - 私はScalaとWicketで楽しい経験をしています。 Scalaで私のページをコード化し始めたばかりですが、これまでのところテストには優れています。 –