Spring-Data:指定MongoRepository应该使用哪个MongoTemplate

wma*_*max 6 mongodb spring-data spring-data-mongodb

给出以下配置:

@Configuration
public class AppConfiguration {

  @Bean
  Mongo mongo() throws UnknownHostException {
    return new Mongo("localhost");
  }

  @Bean(name = "MovieTemplate")
  MongoTemplate beagleTemplate(Mongo mongo) {
    return new MongoTemplate(mongo, "MovieDatabase");
  }

  @Bean(name = "AnotherTemplate")
  MongoTemplate tmdbTemplate(Mongo mongo) {
    return new MongoTemplate(mongo, "AnotherDatabase");
  }
}
Run Code Online (Sandbox Code Playgroud)

我需要一个存储库来访问电影,看起来有点像这样:

@Repository
public interface MoviesRepository extends
    MongoRepository<ProductPages, String> {

    ... some method declarations to access movies ...
}
Run Code Online (Sandbox Code Playgroud)

是否有注释驱动方式告诉存储库使用哪个模板?如果没有,还有什么办法可以解决这个问题?

wma*_*max 0

刚刚偶然发现了这个问题:Spring-data-mongodb connect to multiple Databases in one Mongo instance

除了解决这个问题之外,注释驱动的 spring-data-mongodb(1.3.1.RELEASE ) 似乎根本没有提供开箱即用的解决方案:/