私はFPに従うことに問題があります。人々が「もっと慣用的なスタイル」と言うとき、私はそれを理解しなければなりません:Javaライブラリの99%は、KotlinとScalaのFP慣用スタイルには適用できません。さて、Vaadinを使って簡単に起動するにはSpring Bootが必要です。だから私はいくつかの豆を注入する必要があります。Kotlinのトップレベル関数にIoCを注入する方法は? IoCコンテナを使用していますか?
package com.x.ui
import com.vaadin.icons.VaadinIcons
import com.vaadin.navigator.Navigator
import com.vaadin.ui.MenuBar
fun createMenuBar(navigator: Navigator): MenuBar {
val menuBar = MenuBar()
menuBar.setHeight(null)
menuBar.setWidth(null)
menuBar.addItem("Dashboard", VaadinIcons.COG,
{ navigator.navigateTo("Dashboard") } as MenuBar.Command)
return menuBar
}
この場合、SpringNavigator
をこの機能にどのように注入すればよいですか?
私は今までトップレベルの機能をいくつか持っていたので、@Beanも@Componentもありませんでした。なぜなら、Spring IoCでKotlinを使用するには何が慣用的なのでしょうか?私はクラスを使用することに限定されているのですか、それを行うためのトリックがありますか?
トップレベルの機能は、Javaの静的メソッドに相当します:私はこのような何かをしようとすることをお勧め何
。私はそれが意味をなさないか、それに依存関係を注入する良い練習になるかはわかりません。 良い習慣とIMHOとして、これらの関数を依存関係注入で設定したクラスの中に置くことをお勧めします。 – Mario