-
Notifications
You must be signed in to change notification settings - Fork 32
操作执行器
huangchengxing edited this page Feb 15, 2023
·
1 revision
操作执行器 BeanOperationExecutor
是完成填充操作的核心组件,它决定了以何种方式使用对应处理器完成填充和装配操作,一般配合自动填充或者 OperateTemplate
使用。
操作执行器默认提供了三种实现,用户可以根据需求自己取舍:
-
AsyncBeanOperationExecutor
:异步操作执行器,默认不注册到 Spring 容器,需要用户自己注册; -
DisorderedBeanOperationExecutor
:同步无序操作执行器,默认的操作执行器; -
OrderedBeanOperationExecutor
:同步有序操作执行器,支持按顺序完成装配操作,但是相对无序执行器性能会有所影响;
当手动填充时,可通过 OperateTemplate
的指定重载方法设置本次填充操作使用的操作执行器:
// 从 spring 上下文中获取 OperateTemplate 和 DisorderedBeanOperationExecutor
OperateTemplate operateTemplate = SpringUtil.get(OperateTemplate.class);
OperateTemplate executor = SpringUtil.get(DisorderedBeanOperationExecutor.class);
operateTemplate.execute(fooList, executor, op -> true);
当自动填充时,可以在 @AutoOperate
注解指操作执行器:
// 填充返回值
@AutoOperate(type = Foo.class, executor = DisorderedBeanOperationExecutor.class)
public List<Foo> getFooList() {
// do nothing
}
// 填充参数
@ArgAutoOperate(
@AutoOperate(value = "foos", type = Foo.class, executor = DisorderedBeanOperationExecutor.class)
)
public void setFooList(List<Foo> foos) {
// do nothing
}