gpt4 book ai didi

java - Spring 启动 : "No qualifying bean of type... found" when autowiring concrete class

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:50:33 24 4
gpt4 key购买 nike

我正在使用 Spring Boot 和 Spring Boot JPA 编写一个组件。我有这样的设置:

界面:

public interface Something {
// method definitions
}

实现:

@Component
public class SomethingImpl implements Something {
// implementation
}

现在,我有一个使用 SpringJUnit4ClassRunner 运行的 JUnit 测试,我想用它来测试我的 SomethingImpl

当我这样做

@Autowired
private Something _something;

它有效,但是

@Autowired
private SomethingImpl _something;

导致测试失败并抛出 NoSuchBeanDefinitionException 消息 No qualifying bean of type [com.example.SomethingImpl] found for dependency: expected at least 1 bean which qualifies as autowire candidate对于这种依赖。依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)}

但在测试用例中,我想显式注入(inject)我的SomethingImpl,因为它是我要测试的类。我该如何实现?

最佳答案

如果你想要一个特殊的 bean,你必须使用 @Qualifier 注解:

@Autowired
@Qualifier("SomethingImpl")
private Something _something;

关于java - Spring 启动 : "No qualifying bean of type... found" when autowiring concrete class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28895248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com