私はPlayフレームワークを初めて使用しています。私はconfフォルダにあるファイルを読みたいと思っていました。だから私は使用しましたPlay.application().classloader().getResources("Data.json").nextElement().getFile()
しかし、私はそのplay.Playが現在廃止されていることを知っています。ファイルを読むために何が使えますか? 私はthisの記事を読んで、それが何を言っているのかほとんど理解できません。Play.application()の代替手段
答えて
はちょうどあなたのnクラスでアプリケーションを注入しますそれをeedしてください。それがコントローラ内にあるとします。
import play.Application;
import javax.inject.Inject;
import javax.inject.Provider;
class YourController extends Controller {
@Inject
Provider<Application> app;
public Result someMethod() {
// (...)
// File is placed in conf/Data.json
InputStrem is = app.get().classloader().getResourceAsStream("Data.json");
String json = new BufferedReader(new InputStreamReader(is))
.lines().collect(Collectors.joining("\n"));
return ok(json).as("application/json");
}
}
それは働いています。実際に何が起こっているのかを知るためには依存性注入について学ばなければならないと思う。 –
誰も私にこの種の解決策を見つけるための正しい道を示すことができます。文書を何度も読み続けることは私を少し助けてくれないので。 –
あなたが読んだ2.5の移行記事は、従属関係を結ぶ手段としてのPlayのグローバル状態から依存性注入への移行に焦点を当てています。したがって、これらの静的メソッドを削除します。まだこれを理解していなければ、心配しないでください。ここ
my_conf_key = "some value"
2.5を使用して構成プロパティをルックアップの例である: - - は:
import play.api._
import play.api.mvc._
import javax.inject.Inject
class TestConf @Inject() (conf: Configuration) extends Controller {
def config = Action {
Ok(conf.underlying.getString("my_conf_key"))
}
}
この構成エントリ(application.confまたはアプリケーションの.confにインポート別のファイルのいずれかを仮定
プリント: -
some value
あなたは設定ファイルに自分のデータを追加しなければならないと言っていますか? –
- 1. MooToolsフォームバリデータの代替手段
- 2. Dynamic JsonParsingの代替手段
- 3. Apache tikaの代替手段
- 4. django.db.close_connection()の代替手段
- 5. YQLの代替手段
- 6. CryptEncryptの代替手段
- 7. DataGridViewの代替手段
- 8. Application Insightの代替手段:
- 9. SQLカーソルの代替手段
- 10. java.util.Dateの代替手段
- 11. プリプロセッサディレクティブの代替手段
- 12. underscore.jsの代替手段
- 13. TOADの代替手段(Linux)
- 14. シングルトンの代替手段
- 15. ポートレットの代替手段
- 16. java.util.concurrent.ConcurrentSkipListSetの代替手段
- 17. IE8のPreventDefault代替手段
- 18. 再帰の代替手段
- 19. getLastKnownLocationの代替手段
- 20. SOAのトランスレーション層の代替手段:WCF
- 21. コントローラアクション用のバインディングモデルの代替手段
- 22. Java NIOのBufferedWriterの代替手段
- 23. Javaのマクロ置換の代替手段
- 24. firefoxのtoSource()関数の代替手段
- 25. Webdriverのselenium.isElementPresentの代替手段
- 26. Spark Dataframeのcount()APIの代替手段
- 27. Railsのブートストラップの代替手段
- 28. ビュー以外のサブクエリの代替手段
- 29. Node.jsのPHPパックの代替手段
- 30. JavaFX上のCanvas.snapshot()の代替手段
どのバージョンをお使いですか?投稿はv2.3でタグ付けされていますが、play.Playは廃止されました。2.5 – Nio
@Nio非常にありがとうございます。私はそれを訂正した。私は2.5を使用しています –