2016-04-26 13 views
3

で2.5交換current.injectorを再生する私は2.5をプレイするために自分のアプリケーションを移行していると私は、次のような問題があります:currentとしては形質

import play.modules.reactivemongo.ReactiveMongoApi 

trait Foo { 
    override def reactiveMongoApi: ReactiveMongoApi = current.injector.instanceOf[ReactiveMongoApi] 
    ... 
} 
object Foo extends Foo 

が廃止され、私はそれを交換したいと思います。しかし、私は特性として@Inject() (val reactiveMongoApi: ReactiveMongoApi)を使用することはできません。 どうすればいいですか? FooClassreactiveMongoApi)でプロパティ名が特色Fooで定義された方法と一致するか

import play.modules.reactivemongo.ReactiveMongoApi 

trait Foo { 
    def reactiveMongoApi: ReactiveMongoApi 

    // other methods 
} 

@Singleton 
class FooClass @Inject()(reactiveMongoApi: ReactiveMongoApi) extends Foo { 
    // other methods 
} 

お知らせ:

答えて

3

あなたはこのような何かを行うことができます。その後、declare a module to provide the correct bindingsにアクセスできます。

+0

まだ何かが混乱していますが、後でFooClassのインスタンスをどのように作成しますか? – Scipion

+0

Guiceがそれを処理します。 [モジュールを作成して設定する](https://www.playframework.com/documentation/2.5.x/ScalaDependencyInjection#Programmatic-bindings)の後、必要なものを作成する**フレームワークが必要です依存関係。また、この回答を参照してくださいhttp://stackoverflow.com/a/35823086/4600 – marcospereira

関連する問題