依存性注入と2.5 Scalaのインポートクラスを再生する:この注射の使用機能で、私は依存性注入とクラス<strong>アピ</strong>を持って
class Api @Inject()(userRepo: UserRepo) extends Controller {
def user(email: String) ={
userRepo.getUser(email).map(....)
}
}
と同じパッケージ内のオブジェクトFlashSessionを - 私は他の多くのファイルでそれを使用しています。 私のobj ユーザを私のobj FlashSessionに使用したいと思います。
object FlashSession {
def test = ... Api.user("[email protected]") ....
}
しかし、それはクラスではなくオブジェクトであるので、私はアピクラスをインポートすることはできません、それはDIが必要なので、私はcompagnonオブジェクトにこの機能を置くことはできません。
これを処理するにはどうすればよいですか?
ありがとうございました!
Apiクラスをコントローラとして使用していますので、ありがとうございますが、効果的です。しかし、私はあなたの答えを適応させることができ、それを使って何かをすることができます。 「DI付きグローバルコンパニオンオブジェクトを使用しない」とはどういう意味ですか?それは、あなたの解決策があまり良くないことを意味します。 – Lauriane
はい、コンストラクタDIを使用すると、コードにいくつかの変更が必要です。必要なクラスをコンストラクターで渡し、次にグローバルオブジェクトを使用するだけです。 @ bruce-loweの答えは、このアプローチの良い洞察を示しています。 – liosedhel