1
我有以下Spring組件:Spring組件
@Component(LogicQualifiedBeanNames.PRODUCT_EVENTS_FLOW_PROCESSOR)
public class ProductEventsFlowProcessor extends AbstractFlowProcessor {
private List<ProductEventDetector> productEventDetectors;
private BesRequestFactory besRequestFactory;
private BesAccessor besAccessor;
@Autowired
public ProductEventsFlowProcessor(ItemsClassifier<WriteProductItem> itemsClassifier,
@Qualifier(LogicQualifiedBeanNames.PRODUCT_EVENTS_DETECTORS) List<ProductEventDetector> productEventDetectors,
BesRequestFactory requestFactory, BesAccessor besAccessor) {
super(itemsClassifier);
this.productEventDetectors = productEventDetectors;
this.besRequestFactory = requestFactory;
this.besAccessor = besAccessor;
}
而下面的配置類:
@Configuration
public class FlowConfiguration {
private ProductEventDetector deleteProductEventDetector = new DeleteProductEventDetector();
@Bean(name = LogicQualifiedBeanNames.PRODUCT_EVENTS_DETECTORS)
public List<ProductEventDetector> getProductEventDetectors() {
List<ProductEventDetector> productEventDetectors = Lists.newArrayList(deleteProductEventDetector);
return productEventDetectors;
}
}
而下面的上下文配置文件:
<beans:beans>
<import resource="classpath:core-module-context.xml" />
<context:component-scan base-package="com.stackoverflow.logic" />
<aop:aspectj-autoproxy />
</beans:beans>
當我測試我的應用程序時,我收到以下消息:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.stackoverflow.logic.events.ProductEventDetector] found for dependency [collection of com.stackoverflow.logic.events.ProductEventDetector]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value=productEventDetectors)}
我已經嘗試使用DependsOn
註釋,但這沒有幫助。
類似的問題:http://stackoverflow.com/questions/33167789/beans-property-is-not-setting-from-utillist-object/33170175#33170175 – Lovababu