2011-10-18 62 views
4

我们可以使用Spring配置文件或.properties文件来存储和检索某些属性,例如数据库连接。 (DB URL,数据库密码等)在Java中设置类属性,Spring config Vs系统属性文件

我们也可以使用Spring配置文件和.properties文件一起,在这里我们引用从.property文件属性(像蚂蚁)

,会是什么以下情况的优点或缺点:

1 - 仅使用.properties文件。
2 - 仅使用Spring配置文件。
3 - 一起使用。

是否有任何的情景是更好的,当涉及到维护?

我需要三者之间进行选择,我想有更好的判断前,我与任何选项去!

在此先感谢!
- 伊瓦尔

回答

6

两个在一起。使用可从项目中进行外部化的属性文件来配置Spring。 Spring然后配置你的项目。大多数情况下,你不写代码来从属性文件读取。让Spring管理它并为对象注入适当的值。然后你有适当的依赖注入,你构建的工件不是特定于环境的。

缺点:

  1. 请问你的代码知道是什么文件,从加载的属性?这不是一个财产吗?它还通过让代码去寻找资源而不是被动地接受资源来违反依赖注入。
  2. 配置与您的工件紧密耦合,不能在不重建环境的情况下更改(BAD)。
  3. 您似乎认为它的方式,它结合了其他两个的缺点,但如果按照我所描述的方式进行,它消除了这些缺点,这是一个优点。
+2

组合的另一个优点是,在Spring配置文件保持文字值是烦人 - 春天XML是为了这个目的过于杂乱。具有环境参数值的'.properties'文件更具可读性和可维护性。春季注入价值的另一个小优点是Spring的内置类型转换工具。 – millimoose