0

我正处于使用 Hibernate 编写 Spring3 MVC webapp 的基本阶段。我希望所有数据模型类都能够访问基本配置值,例如,数据库表前缀名称等。我想要这个选项,所以我(或其他开发人员)可以通过在 .properties 中修改它们来即时更改它们文件。

我最好的选择是在 util 包中创建一个带有静态块的 Config 类,该块从 .properties 文件加载一堆属性?我想这个类本身可能是静态的,有各种获取器来访问其中的值。

如果我选择上述方法,如果由于某种原因我指定的 .properties 文件无法加载,我怎么能确保应用程序没有加载(轻微失败)?有例外吗?

如果我的方式很糟糕,还有什么更好的方案?

谢谢!

4

1 回答 1

1

恕我直言,这是一个很好的方法。如果您要为此类显式声明一个 bean,例如

<bean id="myConfig" class="com.yourcompany.yourproject.Config"/>

如果 spring 无法实例化 bean,它将在启动时失败。因此,如果属性文件不可读/不可用,只需从 Configs 构造函数中抛出未经检查的异常。

如果-出于某种原因-您全局启用了延迟加载,则必须为此 bean 显式禁用它,否则您将无法获得故障快速解决方案

<bean id="myConfig" class="com.yourcompany.yourproject.Config" lazy-init="false"/>

编辑:此方案的另一个不错的功能是您可以告诉 maven 来“过滤”资源(.properties 文件),并且您可以获得所有 maven 变量。这是我的道具文件的外观(我将此信息用于“关于”对话框。有人打开过关于对话框吗?)

project.version=${project.version}
project.name=${project.name}
project.organization.name=${project.organization.name}
project.url=${project.url}
project.description=${project.description}
于 2012-06-27T10:06:06.893 回答