0

我是spring的学习者,已经使用spring IOC容器构建了我的测试项目,并在我的项目根路径中配置了beans.xml并加载到我的应用程序中并从中获取bean。

项目根目录下的spring.xml

BeanFactory bean = new XmlBeanFactory(new FileSystemResource("spring.xml"));

源文件中的 spring.xml

BeanFactory bean = new XmlBeanFactory(new FileSystemResource("src/spring.xml"));

这是加载 beans.xml 文件的另一个代码

ApplicationContext context = new GenericXmlApplicationContext("beans.xml");

我的问题是,在实际项目中创建 xml 文件名和文件位置是否有任何标准或约定。因为在一些阅读文章中,我还发现大型项目可能有多个 xml 文件,如 service.xml 和 dao.xml .

4

1 回答 1

1

让 bean 定义跨越多个 XML 文件会很有用。通常每个单独的 XML 配置文件都代表一个逻辑层,例如在您的架构中定义 DAO bean 等,但您应该始终将 XML 配置文件放在 src/resources 下并以如下方式访问它们

new ClassPathXmlApplicationContext(new String[] {"services.xml", "daos.xml"});

来自Spring的手册:

您可以使用应用程序上下文构造函数从所有这些 XML 片段加载 bean 定义。此构造函数采用多个 Resource 位置,如上一节所示。或者,使用该元素的一个或多个实例从另一个文件或多个文件加载 bean 定义。例如:

<beans>
  <import resource="services.xml"/>
  <import resource="resources/messageSource.xml"/>
  <import resource="/resources/themeSource.xml"/>

</beans>
于 2015-05-13T20:26:56.897 回答