是否可以让Sping Data扫描存储库的单独模块。 我在一个maven模块中创建了一个存储库,并希望从另一个maven模块中访问它。 但是我无法弄清楚配置,告诉它扫描多个模块/ jar文件。
在日志中我看到多次引用扫描“core-engine”,我需要的存储库位于“test-model”中
DEBUG main - core.io.support.PathMatchingResourcePatternResolver - Searching directory
[<path>\engine\core-engine\target\test-classes\] for files matching pattern
[<path>/engine/core-engine/target/test-classes/**/model/repository/**/*.class]
该项目有许多模块,但在这种情况下只有2个应该有影响,它们是“核心引擎”和“测试模型”。 “test-model”包含所有配置,即存储库定义,实体和存储库接口。 “核心引擎”依赖于“测试模型”。 我正在使用SpringRunner来运行我的测试并尝试在“测试模型”本身中引用ContextConfiguration,或者通过将存储库配置xml导入单独的“核心引擎”配置来间接尝试。 我在使用存储库的“测试模型”模块中运行测试,我的问题是从“核心引擎”访问这些存储库。
--> test-model (maven module)
---->src/main/java
------>com.test.model.domain (various simple Entities)
------>com.test.model.repository (the repository interfaces)
---->src/main/resources
------>META-INF/datapump/dao-jpa-repository.xml
---->src/test/java
------>com.test.model.domin (various simple CRUD tests using the repositories)
---->src/test/resources
------>META-INF/test-context.xml (defines the Application context and imports dao-jpa-respoitory)
dao-jpa-repository.xml包含在测试模型模块中找到并可测试的行
核心引擎依赖于测试模型。
--> core-engine (maven module)
---->src/main/java
------>com.test.model.inject (classes which attempt to use the repositories defined in test-model)
---->src/test/java
------>com.test.model.inject (tests for the above classes)
---->src/test/resources
------>META-INF/test-context.xml (defines the Application context and also imports dao-jpa-respository from the test-model)
从上面我在核心引擎中进行了测试,尝试使用其存储库从测试模型中持久化实体。但是我无法访问存储库(通过自动装配或通过手动查找),因为看起来存储库不在上下文中。
如果有人能提供帮助,我会很感激。 干杯