我有一个名为Foo
的DAO。 MongoTemplate
想要将其映射到名为foos
的数据库集合。问题是:
Foos
。Foo
对象来自第三方库,其所有构造函数都是private
。 如何配置我的Spring Bean,MongoTemplate
- 通过MongoItemReader
- 知道集合Foos
映射到我的文档Foo
?
如果有帮助,我主要关注从 MongoDB中读取数据。
答案 0 :(得分:1)
答案:我最终延长MongoItemReader
并为collection
添加了一个getter / setter。这允许我委托我不关心的东西,并修改doPageRead()
以在我的自定义查询中设置集合:
@Scope("step")
public class MyMongoItemReader extends MongoItemReader<Object> {
public void setCollection(String collection) {
this.collection = collection;
}
@Override
protected Iterator<Object> doPageRead() {
...
Query mongoQuery = // set query
...
return (Iterator<Object>) //
template.find(mongoQuery, Object.class, this.collection).iterator();
}
}