我是Play框架的新手。我想讀取conf文件夾中的文件。所以我用Play.application().classloader().getResources("Data.json").nextElement().getFile()
但我知道play.Play現在已被棄用。我可以用什麼來讀取文件。 我讀this文章,很難理解它說什麼。Play.application有什麼替代方法()
回答
這裏您將n剛注入的類中的應用去掉它。假設它在一個控制器中:
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從Global狀態到依賴注入的遷移,作爲連接依賴關係的手段 - 因此刪除了這些靜態方法。如果你還沒有真正理解這一點,那麼別擔心。
假設此配置條目(在application.conf或導入到應用程序的.conf另一個文件: -
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"))
}
}
打印: -
some value
您是否在說我必須將我的數據添加到配置文件中? –
- 1. 棄用com.apple.eawt.ApplicationListener的替代方法有什麼替代方法
- 2. 有什麼方法可以替代Response.Write?
- 3. wmctrl有什麼替代方法?
- 4. MonoDroid的Windows.ApplicationModel.Resources.ResourceLoader有什麼替代方法?
- 5. 使用global.asax有什麼替代方法?
- 6. document.write有什麼替代方法?
- 7. 使用phpMyAdmin有什麼替代方法?
- 8. 爲什麼ABRecordCopyCompositeName是NULL,還有什麼替代方法?
- 9. Java的HttpMethod中的回收方法有什麼替代方法?
- 10. 什麼是替代方法`__call`
- 11. java.util.calendar的替代方法是什麼?
- 12. session_register($ var)的替代方法是什麼?
- 13. Python中的替代方法是什麼?
- 14. Response.Redirect()asp.net的替代方法是什麼?
- 15. typeFactory.arrayType(xxx)的替代方法是什麼?
- 16. C#中的替代方法是什麼#
- 17. InstallShield有什麼好的替代方案?
- 18. 論壇有什麼替代方案?
- 19. CSharpOptParse還有什麼替代方案?
- 20. IRB有什麼替代方案?
- 21. pinax有什麼替代方案?
- 22. SWT TabFolder有什麼替代方案?
- 23. 有沒有什麼方法可以替代iframe?
- 24. 什麼是替代SSRS訂閱的替代方法?
- 25. UIViewAnimationOptions.fromMask()發生了什麼?新的替代方法是什麼?
- 26. 在winsock2下,有什麼替代方法可以選擇()?
- 27. 在Windows下運行的PHPLint有什麼替代方法?
- 28. Google廣告不支持HTTPS。還有什麼替代方法?
- 29. ios safari上的文件上傳有什麼替代方法?
- 30. 在ASP.NET MVC中,POST-redirect-GET有什麼替代方法?
你正在使用哪個版本?您已經用v2.3標記了帖子,但play.Play在2.5 – Nio
中已棄用@Nio非常感謝您。我糾正了它。我正在使用2.5 –