我真的是 Play 新手!框架,我遇到了麻烦。基本上我正在制作一个 Web 应用程序,其第一个操作是从文件中读取模型,我只需要执行一次并且永远不会再执行此操作,但是该模型必须可用于 Web 应用程序中的 Controller 。我通常在 java 中完成此行为,创建一个可以被其他类调用的单例。但是,我不知道如何使用 Play! 来做到这一点。
我读过 Global object但它似乎只用于管理全局设置,而不是用于处理单例。我将不胜感激任何帮助。
谢谢!
最佳答案
您可以像往常一样创建一个...单例类(简化示例)
package utils;
public class MySingleton {
private static MySingleton ourInstance = new MySingleton();
private String myModel = null;
public static MySingleton getInstance() {
return ourInstance;
}
private MySingleton() {
play.Logger.debug("READING FILE AND SETTING myModel field... almost ;)");
myModel = "Value from somewhere";
}
public String getMyModel() {
return myModel;
}
}
所以在您的 Global 类中,您可以先在 onStart
方法中初始化它:
public void onStart(Application app) {
MySingleton.getInstance();
super.onStart(app);
}
你也可以用同样的方式从其他类(class)访问它:
String mySingletonsModel = MySingleton.getInstance().getMyModel();
关于java - 单例对象在java中的发挥!框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28620067/