Playframework 如何管理每个应用程序定义的属性(基于XML)

Playframework 如何管理每个应用程序定义的属性(基于XML),playframework,Playframework,我有一个通用的XML文件,其中包含我的游戏的不同属性!应用程序如: CSS文件的客户位置 用户的首选日期时间格式 我的应用程序所需的其他特定资源 所以当开始玩的时候!我想在游戏中加载这些资源一次!。一旦加载,它们将不会更改。我希望避免在每次请求时加载外部XML文件。因此,我所做的工作如下: 创建了一个遵循singleton模式加载XML文件的类。 然后创建了一个模型,其中包含我需要的所有应用程序属性。这个类有私有属性,所以我在需要它的任何地方实例化这个模型,比如: myAppProperti

我有一个通用的XML文件,其中包含我的游戏的不同属性!应用程序如:

  • CSS文件的客户位置
  • 用户的首选日期时间格式
  • 我的应用程序所需的其他特定资源
所以当开始玩的时候!我想在游戏中加载这些资源一次!。一旦加载,它们将不会更改。我希望避免在每次请求时加载外部XML文件。因此,我所做的工作如下:

创建了一个遵循singleton模式加载XML文件的类。 然后创建了一个
模型
,其中包含我需要的所有应用程序属性。这个类有
私有属性
,所以我在需要它的任何地方实例化这个
模型
,比如:

myAppProperties = new AppProperties();
这个问题可能类似于关于
Globals
的问题:$20variables/play framework/q9dbaqqwyc/OnS0e4dXAhAJ和

希望能听到一些反馈


谢谢

加载属性的首选方法通常是通过application.conf。您还可以在其他conf文件中定义它们并使用include。如果需要集中所有属性,请将AppProperties定义为:

public class AppProperties {
   public static final String DATE_FORMAT = Play.configuration.getProperty("myapp.dateformat");
}
在application.conf中:

myapp.dateformat = yyMMdd

我想将我的应用程序作为WAR文件交付到TomCat上部署。我是否可以定义一个在开始播放时应该包含的外部conf文件?因为我想避免客户需要打开war文件并进行更改,因为我的升级步骤是覆盖当前的war文件?您可以在war目录外定义一个额外的配置文件,并从application.conf中包含它。类似于:@include.app=c:\\conf\\app.conf