From bc9333db81e597c0f99416bb17a5e41588e130ce Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Wed, 8 Dec 2021 16:46:40 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=B8=85=E7=90=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E6=96=B0=E7=89=88spring=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=B3=A8=E5=85=A5=EF=BC=8C=E6=97=A0=E9=9C=80?= =?UTF-8?q?=E6=89=8B=E5=8A=A8=E6=B3=A8=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/config/RestBeanAutoConfigure.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flyfish-web/src/main/java/com/flyfish/framework/config/RestBeanAutoConfigure.java b/flyfish-web/src/main/java/com/flyfish/framework/config/RestBeanAutoConfigure.java index 65ce94c..1d98478 100644 --- a/flyfish-web/src/main/java/com/flyfish/framework/config/RestBeanAutoConfigure.java +++ b/flyfish-web/src/main/java/com/flyfish/framework/config/RestBeanAutoConfigure.java @@ -104,12 +104,11 @@ public class RestBeanAutoConfigure implements ImportBeanDefinitionRegistrar, Res .setUri(makePath(clazz.getSimpleName(), restBean.value())); // 分别生成实现类,从repo到controller templates.forEach((type, template) -> { - Class superClass = superClasses.getOrDefault(type, noOp).apply(restBean); // 当且仅当存在vo时,才编译view-controller - if (testNotSupport(superClass, type, hasVo)) { + if (testNotSupport(restBean, type, hasVo)) { return; } - source.setSuperClass(superClass.getCanonicalName()); + source.setSuperClass(superClasses.getOrDefault(type, noOp).apply(restBean).getCanonicalName()); source.setClassName(clazz.getSimpleName() + type.getName()); try { log.info("尝试注册{}", source.getClassName()); @@ -196,17 +195,18 @@ public class RestBeanAutoConfigure implements ImportBeanDefinitionRegistrar, Res /** * 测试是否支持vo * - * @param clazz 父类 + * @param bean 定义 * @param type 注入类型 * @param hasVo 是否有vo * @return 结果 */ - private boolean testNotSupport(Class clazz, RestBeanCandidate type, boolean hasVo) { + private boolean testNotSupport(RestBean bean, RestBeanCandidate type, boolean hasVo) { + Class superClass = superClasses.get(REPOSITORY).apply(bean); switch (type) { case VIEW_CONTROLLER: - return !hasVo || !DefaultRepository.class.isAssignableFrom(clazz); + return !hasVo || !DefaultRepository.class.isAssignableFrom(superClass); case REACTIVE_VIEW_CONTROLLER: - return !hasVo || !DefaultReactiveRepository.class.isAssignableFrom(clazz); + return !hasVo || !DefaultReactiveRepository.class.isAssignableFrom(superClass); default: return false; }