使用Spring Data Mongo配置多个MongoDB存储库

我有2个Mongodb数据库通过2个MongoTemplate-s连接到Spring Boot" title="Spring Boot">Spring Boot应用程序:

(默认的bean名称,连接到默认的db)

(在运行时连接到另一个数据库)

我有很多使用mongoTemplate的MongoRepository-,但我也想创建一些使用mongoAppTemplate的东西。

我找到了一种使用XML的方法(下面的链接),但我真的想保留所有基于注释的方法

回答:

基本思想是将包含您的存储库的包层次结构分为两个不同的路径:

  • __db库主接口的 com.whatever.repositories.main
  • __其他数据库存储库接口的 com.whatever.repositories.secondary 软件包

您的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"/>

@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 {

....

}

还有第三个带@Configuration注释的类,@Import其他两个。

以上是 使用Spring Data Mongo配置多个MongoDB存储库 的全部内容, 来源链接: utcz.com/qa/427757.html

回到顶部