我使用spring batch和mongodb作为数据源,我希望我的ItemReader返回类型不是DBObject类型。
我做了一个转换器:
public class CourseDataConverter implements Converter<DBObject, CourseData> {...但是我不知道我可以把这个转换器放在配置中的什么地方(我使用Java配置)
public class BatchConfiguration {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
SessionFactory sessionFactory;
@Bean
@StepScope
public ItemReader<DBObject> reader() {
MongoItemReader<DBObject> mongoItemReader = new MongoItemReader<DBObject>();
mongoItemReader.setTemplate(mongoTemplate);
mongoItemReader.setCollection("pmu");
mongoItemReader.setQuery("{}");
mongoItemReader.setTargetType(DBObject.class);
Map<String, Sort.Direction> sort = new HashMap<String, Sort.Direction>();
sort.put("_id", Sort.Direction.ASC);
mongoItemReader.setSort(sort);
return mongoItemReader;
}发布于 2018-12-07 10:46:00
正如documentation中提到的,除非显式配置,否则Spring-Data-MongoDB会在您创建MappingMongoConverter时默认创建一个MongoTemplate实例。您可以创建自己的MappingMongoConverter实例。通过创建自己的实例,您可以注册Spring转换器以将特定的类映射到数据库或从数据库映射特定的类。我建议阅读与您正在使用的Spring-Data-MongoDB版本对应的文档,因为示例中有清晰的解释。
https://stackoverflow.com/questions/31369344
复制相似问题