我们有多个项目,并且所有项目都有Spring配置XML。我们正在考虑两种选择:
A)使用import "classpath:a.xml"
从类路径加载spring文件。在这个选项中,我们的springjunit4classrunner和我们的主控制台应用程序都很高兴地找到了这些文件。但是,当您需要更改或检查某些XML时,它很好地隐藏在一些模糊的jar中。
B)创建一个“conf”文件夹,并使用一些maven magic收集所有项目中的所有XML文件。这对主应用程序有好处,但是单元测试不喜欢这个设置,因为显然我们在运行单元测试之前没有构建“conf”文件夹,并且它们无法找到依赖项目XMLS ...
(这是对Is it bad practice to include properties/configuaration files within jars?)的重新拍摄
答案 0 :(得分:2)
在过去,我已经使用<import resource="classpath*:beans.xml"/>
或类似的,即导入类加载器可以在类路径的根目录中找到的每个beans.xml
文件。反过来,这些beans.xml
文件会根据需要导入自己的特定配置文件。
它需要规范,因此你不会得到Spring配置的大蜘蛛网,但如果你保持简单,那么它使集成非常容易,这样你就不需要维护复杂的配置文件导入列表,构建过程也很简单。
有趣的是你提到了之前的问题,因为我不认为Spring beans文件是“配置”。相反,它们是应用程序的一部分 - 它们不能也不应该与Java代码分离,因为它们与它密切配合。
如果那些bean文件需要真正的配置,例如从一个属性文件,然后是,那些可能应该保持独立。