Java 如何在Spring中使用@Conditional注释有条件地解析bean依赖关系
我有一个bean,它也依赖于另一个bean,这两个bean都用相同的spring条件注释:Java 如何在Spring中使用@Conditional注释有条件地解析bean依赖关系,java,spring,Java,Spring,我有一个bean,它也依赖于另一个bean,这两个bean都用相同的spring条件注释: @Component @Conditional(ImportEnabledCondition.class) public class ImportEntityResource { @Autowired ImportService importService; .... } importService: @Component @Conditional(ImportEnabledCondition.cla
@Component
@Conditional(ImportEnabledCondition.class)
public class ImportEntityResource {
@Autowired
ImportService importService;
....
}
importService:
@Component
@Conditional(ImportEnabledCondition.class)
public class ImportService{...}
但是我总是得到org.springframework.beans.factory.NoSuchBeanDefinitionException
异常。
我非常感谢任何关于如何解决这个问题的建议。@Conditional用于在Spring上下文中注册bean,具体取决于一些条件。在您的情况下,您可以删除它,因为Spring会将依赖项视为ImportEntityResource的ImportService成员。如果依赖关系不太明确,那么可以使用@DependsOn。查看您的两个bean,您不应该出现这样的异常1)如果条件的计算结果为true,那么两个bean都会被创建2)如果条件的计算结果为false,那么两个bean都不会被创建。所以我想,你已经连线了ImportEntityResource,并且抛出了
NoSuchBeanDefinitionException
,没有完整的堆栈状态,无法回答