如何在MongoRepository中使用带有限定符的mongoTemplate?

时间:2014-12-04 14:24:19

标签: spring-data-mongodb

我们有一个内部配置机制,可以在常规xml文件或java Configuration类之外创建spring bean。

在这个配置中,我们有一个mongoTemplate bean,它是用特定的限定符" appMongoTemplate"

创建的。

我们可以在我们的服务中@autowired这个mongoTemplate,就像任何常规的spring bean一样:

@Autowired
@Qualifier("appMongoTemplate")
protected MongoTemplate mongoTemplate;

现在我正在尝试使用MongoRepository。 我只是声明一个常规界面:

public interface MyRepository extends MongoRepository<MyDocument, String>

但是当我的应用程序启动时,我在创建存储库时遇到异常,因为它无法找到mongoTemplate bean。 我想我需要指定要使用的mongoTemplate的名称,但我不知道如何。

由于

1 个答案:

答案 0 :(得分:2)

XML命名空间和@EnableMongoRepositories注释都有一个属性来显式连接要用于存储库的MongoTemplate bean:

<mongo:repositories mongo-template-ref="appMongoTemplate" />

@EnableMongoRepositories(mongoTemplateRef = "appMongoTemplate")