在
MyMongoConfig extends AbstractReactiveMongoConfiguration
我在使用spring-data-mongodb 3.2版本时创建了一个bean:
@Override
public MongoMappingContext mongoMappingContext(MongoCustomConversions customConversions) throws ClassNotFoundException {
return super.mongoMappingContext(customConversions);
}
升级到4.0版本后需要修改为:
@Override
public MongoMappingContext mongoMappingContext(MongoCustomConversions customConversions, MongoManagedTypes types) {
return super.mongoMappingContext(customConversions(), types);
}
但这会出错,因为未设置
MongoManagedTypes
。什么是MongoManagedTypes
,我们如何设置它们?
当 beans 初始化时,
types
的大小为 0,我收到一条错误消息:
Factory method 'mongoMappingContext' threw exception with message: Error creating bean with name 'customConversions' defined in class path resource
factory bean 'MyMongoConfig'; factory method 'customConversions()'. Check that a method with the specified name exists and that it is non-static.
但是,customConversion() 在升级到版本 4.0 之前有效
编辑:在此提交中完成了从不需要 MongoManagedTypes 到需要它的更改: https://github.com/spring-projects/spring-data-mongodb/commit/cfd55be95bf7bf70bc1fdf243209591c0b0c4d5b 在 java/org/springframework/data/mongodb/config/MongoConfigurationSupport.java
相关问题:https://github.com/spring-projects/spring-data-mongodb/issues/4365