ここではWSClient
を使用している可能性がありますが、Playフレームワークにクライアントのインスタンスを「管理」させることをお勧めします。あなたがあなたのアプリケーションをインスタンス化するとき、それが注入されます:それが何を意味するのか
class Application @Inject() (ws: WSClient) extends Controller {
...
}
は...
の内側には、値としてws
へのアクセス権を持っているということです。あなたはそれを使用してmyClassName
をインスタンス化することができます
class Application @Inject() (ws: WSClient) extends Controller {
val myclass = myClassName(ws) // passes the injected WSClient to myClassName
}
それともWSClient
を返す関数を書くことができますので、あなたのコードのいくつかの他の領域は、そのためのオブジェクトハンドラを得るためにあなたのApplication
オブジェクトに呼び出すことができます。
しかし、の注入(@Inject
注釈)のためにApplication
オブジェクトがそのハンドルを取得することが重要です。
WSClient
を生成して手動で管理する必要がある場合は、good instructions hereがあります。推奨される実装はPlayに依存しています。フレームワークライブラリであるが、Application
に依存しない。
このアプリケーションをどのように実行しますか?私はIntellijを使用しています – annedroiid
私の目的は、Intellijを使用して実行して実行するだけの場所を持っているので、アプリケーションのすべてを必要としません。これはメインアプリケーションのサイドクラスに過ぎません。 – annedroiid
SBTを使用してアプリケーションをコンパイルして実行していますか? SBTにはIntelliJ用のプラグインがあり、アプリケーションの起動に使用できます。私はもっとたくさんのことを知らずに多くの指導をすることはできません。 –