在哪里存储Web应用程序的配置变量?

时间:2011-09-08 04:28:12

标签: java configuration

为什么不将Web应用程序的配置变量只存储在类文件中?

我需要存储变量,例如一次在一个页面中显示多少个产品项目。我应该在哪里存储它们,以便我的Java类可以使用它们?这是什么标准?

2 个答案:

答案 0 :(得分:4)

  

为什么不将Web应用程序的配置变量存储在类文件中?

每当您进行少量编辑时,这将需要重建,重新部署和重新启动整个野兽。如果你只是在当地嬉戏,这可能并不痛苦。但是在现实世界中(正确地完成)你需要通过整个连续构建链,自动化测试,QA等来实现。这对于配置设置中的愚蠢变化毫无意义。

您的网络应用程序的设计必须能够在外部更改配置,并且最好还能够按需重新加载配置(例如管理页面上的按钮),甚至可以自动(例如@Schedule @Singleton)。这样,serveradmin就可以编辑一个简单的,自我记录的基于文本的文件,而不是等待数小时甚至数天才能将其投入生产。

答案 1 :(得分:1)

您将其保存在项目中......

读取和编写属性文件

// Read properties file.
Properties properties = new Properties();
try {
    properties.load(new FileInputStream("filename.properties"));

} catch (IOException e) {
}

//read an item
String prop = properties.getProperty("a");

// Write properties file.
try {
    properties.store(new FileOutputStream("filename.properties"), null);
} catch (IOException e) {
}

以下是属性文件内容的示例:

# a comment
! a comment

a = a string
b = a string with escape sequences \t \n \r \\ \" \' \ (space) \u0123
c = a string with a continuation line \
    continuation line
d.e.f = another string

取自:http://www.exampledepot.com/egs/java.util/Props.html