java 中的单例对象播放!框架
Singleton object in java play! framework
我真的是 Play 新手!框架,我遇到了麻烦。基本上我正在制作一个 Web 应用程序,其第一个操作是从文件中读取模型,我只需要执行一次并且永远不会再执行此操作,但是该模型必须可用于 Web 应用程序中的控制器。我通常在 java 创建一个可以被其他 类 调用的单例中完成此行为。但是,我不知道如何使用 Play! 来做到这一点。
我读过 Global object 但它似乎只用于管理全局设置,而不是用于处理单例。我将不胜感激任何帮助。
谢谢!
您可以像往常一样创建...单例class(简化示例)
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;
}
}
所以在您的全局 class 中,您可以先在 onStart
方法中初始化它:
public void onStart(Application app) {
MySingleton.getInstance();
super.onStart(app);
}
您也可以通过相同的方式从其他 class 访问它:
String mySingletonsModel = MySingleton.getInstance().getMyModel();
我真的是 Play 新手!框架,我遇到了麻烦。基本上我正在制作一个 Web 应用程序,其第一个操作是从文件中读取模型,我只需要执行一次并且永远不会再执行此操作,但是该模型必须可用于 Web 应用程序中的控制器。我通常在 java 创建一个可以被其他 类 调用的单例中完成此行为。但是,我不知道如何使用 Play! 来做到这一点。
我读过 Global object 但它似乎只用于管理全局设置,而不是用于处理单例。我将不胜感激任何帮助。
谢谢!
您可以像往常一样创建...单例class(简化示例)
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;
}
}
所以在您的全局 class 中,您可以先在 onStart
方法中初始化它:
public void onStart(Application app) {
MySingleton.getInstance();
super.onStart(app);
}
您也可以通过相同的方式从其他 class 访问它:
String mySingletonsModel = MySingleton.getInstance().getMyModel();