在Java类路径中包含XML配置的良好实践?

在Java类路径中包含XML配置的良好实践?,java,spring,Java,Spring,我的应用程序是由一些SpringXML配置文件配置的 在Java中,将XML文件包含在类路径中,并在我的应用程序中使用类路径引用它们是否是一种好的做法?能够以两种方式对其进行配置是很好的,可以直接将其配置为文件,也可以通过类路径上的资源进行配置,这些资源可能在jar文件中,也可能不在jar文件中。这给了你很大的灵活性。我同意前面的海报(+1)-有一个选项,以备将来需要。 然而,有一个陷阱。如果这样强大的工具落入坏人之手,你可能会让自己非常头疼。spring上下文文件和java类之间没有太大区别,

我的应用程序是由一些SpringXML配置文件配置的


在Java中,将XML文件包含在类路径中,并在我的应用程序中使用类路径引用它们是否是一种好的做法?

能够以两种方式对其进行配置是很好的,可以直接将其配置为文件,也可以通过类路径上的资源进行配置,这些资源可能在jar文件中,也可能不在jar文件中。这给了你很大的灵活性。

我同意前面的海报(+1)-有一个选项,以备将来需要。
然而,有一个陷阱。如果这样强大的工具落入坏人之手,你可能会让自己非常头疼。spring上下文文件和java类之间没有太大区别,它是一个代码。那么,看看谁是你的用户。。如果你没有准备好,一个过于热情的QA专家可能会让你的生活变得悲惨。

我通常先查看系统属性,然后再查看类路径。因此:

java -DconfigFile=/filelocation/file.xml
可以理解为:

String propfile = System.getProperty(configFile);
if (propfile != null) {
 // read in file
  new File(propfile);
 ...
} else {
  // read in file from classpath
  getClass.getResource("/configfile.xml")
}

我倾向于将XML配置文件放入类路径中,并使用a或类似工具(取决于实际需求)将相关的配置(例如,针对不同的环境)公开到外部属性文件中

创建配置文件的一种好方法是,为每个环境提供具有一组设置的属性文件,并让管理员通过提供系统属性(其值随后转换为属性文件查找)来选择所需的属性文件。详见API文档