diff --git a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/component/ComponentInjectorFactory.kt b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/component/ComponentInjectorFactory.kt index 67fb7d14..8edbfaa8 100644 --- a/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/component/ComponentInjectorFactory.kt +++ b/Partner-Framework/src/main/java/work/slhaf/partner/framework/agent/factory/component/ComponentInjectorFactory.kt @@ -13,6 +13,7 @@ import java.lang.reflect.Modifier * * 注入关系: * - `sub + standalone -> running` + * - `standalone -> sub` * - `sub + standalone -> standalone` * - `sub + standalone -> additionalComponent` * @@ -44,6 +45,11 @@ class ComponentInjectorFactory : AgentBaseFactory() { standaloneModules.forEach { it.injectTarget.add(running.instance) } } + subModules.forEach { sub -> + injectIntoTarget(sub.instance, standaloneInstances) + standaloneModules.forEach { it.injectTarget.add(sub.instance) } + } + standaloneModules.forEach { standalone -> val providersForStandalone = subInstances + standaloneInstances.filter { it !== standalone.instance } injectIntoTarget(standalone.instance, providersForStandalone)