gpt4 book ai didi

java - 如何在单独的模块中加载多个 Spring ApplicationContext XML?

转载 作者:行者123 更新时间:2023-12-01 12:07:54 24 4
gpt4 key购买 nike

在提出问题之前,我必须承认我对 Java 和 Spring 都是新手,因此我的问题可能听起来完全无意义。我有一个基于 Spring 的 Java 应用程序,我的工作是为其编写集成/验收测试。现在,当我扫描项目结构时,我可以看到有多个 Bean 分布在不同的模块中,我需要实例化这些 Bean 来构建我的测试用例。快速浏览一下 Spring 教程还告诉我,在使用 bean 进行任何有意义的工作之前,我必须加载应用程序上下文 xml。因此,我加载了我想要测试的模块的应用程序上下文 XML。但是当我执行测试时,Spring 提示它无法找到一堆其他 bean。现在,我知道这些“一堆”bean 存在于其他模块中,其接线信息位于其他一些应用程序上下文 xml 文件中。我的问题是,在 Spring 项目中

  1. 是否应该加载父级应用程序上下文 xml 文件,而不是特定于模块的文件?

  2. 我是否可以为我的测试项目创建一个应用程序上下文 xml,并在其中导入所有其他应用程序上下文 xml?

  3. 任何其他解决方案...

非常感谢任何帮助:)

最佳答案

嗯,这取决于您想要测试哪一层。让我尝试用一​​个例子来回答你的问题:假设您有一个 Service 和一个 DAO,并且您想要测试 DAO 层,您只需加载 dao.xml 并连接到tests.xml 中的测试特定 bean(如果有)。因此,实际上您的tests.xml 将包含

 <beans> <import resource ="dao.xml"/>  <bean id="abstractTest" class="com.something.AbstractTest"/>  </beans>

你会用 SpringJUnit4ClassRunner 运行你的测试提及tests.xml作为您的ContextConfiguration .

关于java - 如何在单独的模块中加载多个 Spring ApplicationContext XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27465753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com