如何从另一个依赖模块加载弹簧配置

时间:2017-01-31 16:33:32

标签: java spring junit4

我正在开发一个包含子模块的spring应用程序,大致如下所示:

项目

|-- module1
||-- src
||      -- main
||       |-- java
||       -- resources
||           |-- null
||   -- pom.xml

第2单元:

|-- module2
|   |-- src
|   |   -- main
|   |       |-- java
|   |       -- resources
|   |           -- spring-dao.xml
|   -- pom.xml
-- pom.xml

现在,我正在使用Juit4来测试module1,而我必须在module1中提供spring-dao.xml,如下所示: @ContextConfiguration({"classpath*:spring/spring-dao.xml"})

但是spring配置文件(spring-dao.xml)在module2中,而module2依赖于module1。这导致我无法通过module1的pom.xml将module2.jar放入module1,因为它会导致模块循环。

如何测试module1?

1 个答案:

答案 0 :(得分:0)

我不确定我完全理解,但这是我读它的方式:

模块1依赖于模块2,而模块2依赖于模块1。

简短的回答是你不能这样做。模块背后的想法是隔离不相关的代码。我经常使用生成的代码执行此操作,将其保存在单独的模块中。生成的代码不应该对我的主应用程序有任何依赖性,但我的主应用程序依赖于生成的代码。

我可以想到几个解决方案:

如果两个模块彼此严重依赖,则应将它们重构为单个模块。根据您所描述的内容,这似乎是最好的方法。

如果仍然不希望这样做,请创建第三个模块以保持两个项目之间的公共依赖关系。