我对Play真的很陌生!框架,我遇到了麻烦。基本上我正在制作一个Web应用程序,其第一个操作是从文件中读取模型,我只需要执行一次而不是再次执行此操作,但此模型必须可用于Web应用程序中的控制器。我通常在java中创建一个单例,可以被其他类调用。但是,我不知道如何使用Play!
我已经阅读了Global object,但它似乎只用于管理全局设置,而不是用于处理单例。我将不胜感激任何帮助。
谢谢!
答案 0 :(得分:4)
你可以像往常一样创建一个单例类(简化样本)
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);
}
您也可以通过相同的方式从其他课程访问它:
String mySingletonsModel = MySingleton.getInstance().getMyModel();