這可以使用轉換器的包裝來完成:春天:注入斯卡拉列表
import scala.collection.JavaConversions._
object ListConverter {
def toScalaList(jlist: java.util.List[AnyRef]) = {
jlist.toList
}
}
這JavaConversions
使用implicit def asScalaBuffer
返回一個列表斯卡拉。然後,我可以榜上無名注射爲:
<bean id="someItems" class="my.package.ListConverter" factory-method="toScalaList">
<constructor-arg type="java.util.List">
<util:list>
<ref bean="itemOne"/>
<ref bean="itemTwo"/>
</util:list>
</constructor-arg>
</bean>
我想找到一個更清潔的方式來做到這一點
我真的不能使用JavaConversions
直接作爲靜態工廠電話:
<bean id="someItems" class="scala.collection.JavaConversions" factory-method="asScalaBuffer">...</bean>
由於一個implicit def
是不是真的在Java宇宙的靜態方法。
P.S.爲了把它弄出來的方式。我知道有很多註解驅動的配置愛好者,但我不是其中之一,這是不是一個解決方案,我在尋找:我喜歡我的春天CONFIGS XML,和我喜歡春天到DI斯卡拉
是的,做的竅門,不知道爲什麼它以前不編譯,但後來IntelliJ Scala插件有時候會這樣做。關於使用Seq [A]而不是List [A] =>的好主意可能不是真正提倡強壯的集合類型,但就我而言,天氣並不重要,它是一個List或Seq。謝謝。 –
tolitius