Mic*_*ash 9 spring spring-mvc spring-data spring-data-mongodb spring-boot
我有2个Mongodb数据库连接到一个带有2个MongoTemplate-s的Spring Boot应用程序:
mongoTemplate(默认的bean名称,连接到默认的db)
mongoAppTemplate(在运行时连接到另一个数据库)
我有很多使用mongoTemplate的MongoRepository-s但我也想创建一些使用mongoAppTemplate的东西.
如何配置2个MongoRepository-s以使用不同的MongoTemplate -s和Java配置?
我找到了一种方法来使用XML(下面的链接),但我真的想保持它所有的注释
Ori*_*Dar 11
基本思想是将包含存储库的包层次结构分成两个不同的路径:
您的XML配置应该是这样的:
<mongo:repositories base-package="com.whatever.repositories.main" mongo-template-ref="mongoTemplate"/>
<mongo:repositories base-package="com.whatever.repositories.secondary" mongo-template-ref="mongoAppTemplate"/>
Run Code Online (Sandbox Code Playgroud)
编辑
@EnableMongoRepositories注释不是@Repeatable
,但是您可以有两个@Configuration
类,每个类都注释,@EnableMongoRepositories
以便使用注释实现相同的注释:
@Configuration
@EnableMongoRepositories(basePackages = "com.whatever.repositories.main", mongoTemplateRef = "mongoTemplate")
public class MainMongoConfig {
....
}
@Configuration
@EnableMongoRepositories(basePackages = "com.whatever.repositories.secondary", mongoTemplateRef = "mongoAppTemplate")
public class SecondaryMongoConfig {
....
}
Run Code Online (Sandbox Code Playgroud)
还有第三个@Configuration
注释类,@Import
另外两个.
归档时间: |
|
查看次数: |
8068 次 |
最近记录: |