你可以使用应用上下文的构造函数从所有的XML片段中加载 bean 定义。这些构造函数需要多个
Resource 位置,就像之前的章节写的那样。或者,使用一个或多个<import/>节点的事件从其他文件加载 bean定义。例如:
<beans>
<importresource="services.xml"/>
"resources/messageSource.xml""/resources/themeSource.xml"<beanid"bean1"class"..."="bean2"class="..."/>
</beans>
<importresource="services.xml"/>
"resources/messageSource.xml""/resources/themeSource.xml"<beanid"bean1"class"..."="bean2"class="..."/>
</beans>
@H_301_123@
在上面的例子中,外部的bean是从这三个文件加载过来的:services.xml ,messageSource.xml , themeSource.xml。所有导入文件的定义都是用相对路径,所以,services.xml 必须在同一个路径下或类路径作为文件的导入路径(个人理解:大意是说这个文件需要在项目的根目录或是和某些文件在同一个根目录下)。messageSource.xml 和themeSource.xml 一定是在资源目录下面的导入路径路径里。就和你看到的一样,一个反斜杠被忽略了,说明这些路径是相对的,不使用反斜杠是一种更好的形式。导入文件的内容,包括最高级别的<beans/> 节点,根据Spring 架构都必须是有有效的 bean 定义。
注:不推荐,在父目录中使用相对路径"../" 引用文件。这样在文件里创建的依赖性就不会在当前应用里。特别是,这些参考不推荐使用在“classpath:”URL里面(例 如:“classpath:..../service.xml”),在运行过程中先寻找最近的路径,再查找根目录。类路径配置的改变可能会导致选到错误的路径。