我正在使用Spring MVC做一个相对较大的网站。网站中的许多地方都需要配置。例如:字符长度,允许的最大数量等。这是我现在正在做的事情。
我有一个名为conf.properties的属性文件,其中包含例如以下数据:
age.min=13
我还有一个名为Conf.java的Java类,它读取conf.properties并通过静态方法向其他类提供配置/控制数据(例如最小年龄)。例如:
static {
bundle = ResourceBundle.getBundle("conf.properties");
}
public static getAgeMin() {
return Integer.valueOf(bundle.getString("age.min"));
}
这是管理大型网站配置的好方法吗?还有什么其他方法?我知道将所有这些配置数据存储在数据库中可能是一个,但不确定人们是否正常使用它。
感谢您的任何意见!
答案 0 :(得分:1)
资源包旨在提供这种类型的配置内容,因此它当然是可能的。它还为i18n提供了一些很好的规定,因此它可以更容易地提供不同的语言相关字符串,这在数据库表中配置可能会更不自然。
就个人而言,我更喜欢使用配置文件,因为它更容易修改和更新,因为它们只是纯文本文件,您可以轻松生成它们或使用脚本和其他工具访问它们。
答案 1 :(得分:1)
您可以将属性包含在spring bean中并将其连接到java文件中。
<bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath*:conf.properties</value>
</list>
</property>
</bean>
然后在你想要使用属性文件的java文件中,你只需使用下面的示例代码
@Controller
public class TestController {
@Autowired
private Properties properties;
@RequestMapping("/test")
public String showMain(ModelMap model) {
Integer ageMin = properties.getProperty("age.min");
// .. DO YOUR PROCESSING
}
}
这就是我们为生产站点进行配置的方式。我们还使用数据库来存储一些配置。但只适用于需要经常更换的房产。对于那些可能不需要频繁更改的属性,我个人认为配置文件是最好的。