Spring 配置 XML 文件在多个项目中的位置 - 最佳实践是什么?



我们有多个项目,所有项目中都有spring配置xml。我们正在考虑两种选择:

A)通过使用import "classpath:a.xml"从类路径加载spring文件。在这个选项中,springjunit4classrunner和我们的主控制台应用程序都能愉快地找到这些文件。但是,当您需要更改或检查某些XML时,它很好地隐藏在某个晦涩的jar中。

B)创建一个"conf"文件夹,并使用一些maven魔法从所有项目中收集所有XML文件。这对主应用程序很好,但是单元测试不喜欢这个设置,因为很明显,我们没有在运行单元测试之前构建"conf"文件夹,它们无法找到依赖的项目xml…

(这是一个春季重新考虑在jar中包含属性/配置文件是不好的做法吗?)

在过去,我一直使用<import resource="classpath*:beans.xml"/>或类似的方法,即导入类加载器可以在类路径的根目录中找到的每个beans.xml文件。然后,这些beans.xml文件根据需要导入自己特定的配置文件。

它需要纪律,这样你就不会得到Spring配置的大蜘蛛网,但是如果你保持简单,那么它就会使集成变得非常容易,这样你就不需要维护复杂的配置文件导入列表,并且构建过程也保持简单。

你提到前面的问题很有趣,因为我不认为Spring bean文件是"配置"。相反,它们是应用程序的一部分——它们不能也不应该从Java代码中分离出来,因为它们与Java代码紧密地耦合在一起。

如果这些bean文件需要真正的配置,例如来自属性文件,那么是的,这些可能应该分开保存。

最新更新