我们如何从不同目录中不同 xml 文件中定义的其他 bean 中读取一个。例如,如果有一个 bean 定义在
src\main\resources\serviceconfig\org\project\core_spring\file1.xml
需要引用 src\main\java\org\project\core\commons\persistence_spring\file2.xml 中定义的另一个 bean
有什么方法可以引用它或者将file2.xml的资源导入file1.xml?
我们如何从不同目录中不同 xml 文件中定义的其他 bean 中读取一个。例如,如果有一个 bean 定义在
src\main\resources\serviceconfig\org\project\core_spring\file1.xml
需要引用 src\main\java\org\project\core\commons\persistence_spring\file2.xml 中定义的另一个 bean
有什么方法可以引用它或者将file2.xml的资源导入file1.xml?
指定整个相对类路径,如
<import resource="\org\project\core\commons\persistence_spring\file2.xml" />
为我解决了这个问题。
虽然还没有尝试过Chao给出的答案。如果那个有效,那就太好了,因为每次我需要引用它时输入相对路径并导入一些资源可能会非常麻烦。
您可以使用<context-param>
web.xml 中的标记在您的应用程序中包含多个 bean 定义文件。您可以在类路径或 Web 文件夹中引用这两个上下文。并且您将能够使用这些文件中定义的 bean,就好像它们是在一个文件中定义的一样。
例如:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:/com/your-company/file1.xml
/WEB-INF/file2.xml
</param-value>
</context-param>
您可以导入file2.xml
到file1.xml
. 使用
<import resource="classpath:file2.xml" />
导入后,您可以使用中定义的file2.xml
bean file1.xml
。