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

时间:2012-02-18 18:48:11

标签: playframework

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

  • CSS文件的客户位置
  • 用户
  • 的日期时间格式
  • 我的应用程序所需的其他特定资源

所以当开始玩!我想在Play!中加载一次这些资源。加载后,它们不会改变。我想避免在每个请求上加载外部XML文件。所以我做的是以下几点:

创建一个遵循单例模式的类来加载XML文件。 然后创建了一个Model,其中包含我需要的所有应用程序属性。这个类有private properties所以我在我需要它的地方实例化Model

myAppProperties = new AppProperties();

此问题可能类似于Globals的问题:https://groups.google.com/forum/?fromgroups#!searchin/play-framework/global $ 20variables / play-framework / Q9DBAQtQWYc / OnS0e4dXAhAJ和Cross controller variables

很想听到一些反馈。

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

并在您的application.conf中:

myapp.dateformat = yyMMdd