我在我的应用程序中使用Spring MVC和Spring Integration。
VendorService是我的接口,其实现由Spring Integration负责。
我通过自动装配将VendorService的实例注入我的控制器。
这是我的控制器......
@Autowired(required=true)
@Qualifier("vendorService")
VendorService vendorService;
我收到以下错误,
找不到[com.sample.service.VendorService]类型的限定bean用于依赖:预期至少有1个bean符合此依赖关系的autowire候选者。依赖注释:{@ org.springframework.beans.factory.annotation.Autowired(required = true),@ org.springframework.beans.factory.annotation.Qualifier(value = vendorService)}
答案 0 :(得分:1)
我认为您没有在接口的实现类(VenderService)中应用@Service或@Repository Annotations。
试试这个: -
@Repository
pulblic class VenderServiceImpl implements VenderService{
// Do your job here.
}
我希望它能奏效。
答案 1 :(得分:1)
Spring找不到实现VenderService接口的类。通过将@Service或@Component注释添加到实现VenderService的类来帮助他。
答案 2 :(得分:0)
错误表明Spring无法找到VendorService
的实现来满足您的自动装配请求。它只能使用实现指定接口的类来执行此操作,并且它们必须在上下文文件中定义,或者通过包扫描(通过使用注释)找到。
答案 3 :(得分:0)
这是关于spring如何在应用程序上下文中加载bean的好文章。您可以使用
手动将其定义为bean 1)<bean id="" class=""> in application context.
或者如果您想要注释您的calss,那么您必须使用
添加组件的自动扫描 2)<context:component-scan base-package="XX.XX" />.
当spring无法在应用程序上下文中找到bean id时,会发生此错误。
http://www.mkyong.com/spring/spring-auto-scanning-components/