【发布时间】:2019-03-20 18:58:16
【问题描述】:
下面是我的代码,因为阻塞队列没有这样的bean异常来。 NoSuchBeanDefinitionException:没有“java.util.concurrent.BlockingQueue”类型的合格 bean。如何忽略队列的自动布线?我需要通过自动装配使用 genericServiceImpl 类。我添加了无参数构造函数并检查它没有工作。
@Component
public class Task {
@Autowired
private GenericServiceImpl genericServiceImpl;
private BlockingQueue<String> queue = null;
public Task(BlockingQueue<String> queue) {
this.queue = queue;
}
private void task() {
genericServiceImpl.findAll();
}
}
【问题讨论】:
-
您可以在构造函数上添加
autowire注解并设置required=false。尽管我会删除当前的构造函数以支持自动装配的设置器。通常构造函数用于必需的依赖项,setter 可选,应避免字段自动装配。