Scala 2.8 の名前付きおよびデフォルト引数機能を利用できるのであれば、JavaBean プロパティ注入よりもコンストラクター注入を使用したいと思います。それをサポートする、または簡単に拡張できるIoCコンテナはありますか? (必要な情報は、実行時にscala.reflect.ScalaSignature
クラスの注釈にあります。)
IoC コンテナーからの基本的な (?) 期待もいくつかあります。
- 自動配線 (ターゲット クラス/特性またはアノテーションによる、1 対 1 および 1 対多の両方)
- 明示的なインジェクション (明示的なワイヤリング) はそれほど手間がかかりません (Guice が弱いように)。Like
user
はそのまま注入されnew ConnectionPool(user="test")
ます。 - シャットダウン時のクリーンアップのためのライフサイクル コールバック (適切な順序で)
Spring は明らかにこれらを実行できますが、名前付きパラメーターはサポートしていません。-s を使用してFactoryBean
Scala と Spring を橋渡しすることを検討しましたが、私の知る限り、それは手間がかかりすぎる (ボイラープレートまたはコード生成) ことを意味します。