我的主要 Spring 配置 XML 文件指定如下内容:
<context:component-scan base-package="com.application" />
在这次扫描中找到的组件可能在我的类路径上的许多 jar 文件之一中。我希望能够在每个 jar 文件中包含额外的 spring 配置 XML 文件,以提供有关每个单独服务/组件的更多信息(可能是一些属性等等),但我不希望这些东西与我的紧密耦合主应用程序的配置文件。
有没有办法做到这一点,还是我运气不好?
理想情况下,我希望能够根据名称和/或 JAR 文件中的位置自动检测 JAR 文件中是否存在 XML 文件。
我知道有些事情可以用 META-INF 完成,但这远远超出了我的专业领域。
最佳答案
Ideally, I'd like to be able to somehow autodetect the existence of the XML file in the JAR file, based on name and/or location in the JAR file.
是的,这非常简单。
在您的主 Spring 上下文文件中,添加如下内容:
<import resource="classpath*:config.xml"/>
注意通配符语法。这将扫描类路径的根,查找任何名为 config.xml
的资源,并将它们导入到您的主上下文中。
因此您的每个 JAR 都可以在它们的根目录中有一个 config.xml
,它就会发生。这些 config.xml
文件当然可以执行它们自己的导入,等等。
关于java - 是否可以为每个带有附加信息的 jar 文件使用 spring 配置 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8733722/