支持直接填充 Map 类型的数据 #21
Labels
enhancement
New feature or request
worth trying
Features or improvements that are worth trying but not necessarily achievable
Milestone
目前已经支持处理数据源对象为 Map 的情况,但是还不支持处理目标对象为 Map 的情况,需要调整代码以便完成对 Map 类型数据的全面支持,比如:
这一个/一批
Map
集合将会按Foo.class
的配置进行填充。此外,还需要在配置文件中提供
enable-operate-map
选项用于选择是否启动对Map
类型的数据源和目标对象的支持。其实现有的代码以及可以在不进行太大改动的前提下支持这个功能了,只要把目前的
AssembleOperationHandler
实现中,获取待处理对象类型的代码进行一点改动。得益于目前装配处理器的代码结构,我们只需要分别修改顶层抽象模板中的少量代码即可让所有的处理器获得该能力:
GenericReflexAssembleOperationHandler.collectToEntities
:GenericReflexAssembleOperationHandler.mappingProperty
:OneToManyReflexAssembleOperationHandler.completeMapping
:另外,考虑到需要直接填充
Map
集合的场景下多半没有对应的Class
,或许需要OperateTemplate
会需要一个execute(Object target, BeanOperations)
类型的重载方法,并提供一个可以在代码中手动构建,而不是一定要通过配置解析器获取的BeanOperations
实现(类似 Spring 的GenericBeanDefinition
),在完成该 issues 后,可以考虑再另外提一个 issues 去完成这个额外想法。The text was updated successfully, but these errors were encountered: