![](/img/trans.png)
[英]No qualifying bean of type UserRepository found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency
[英]No qualifying bean of type 'ru.spb.repository.UserRepository' available: expected at least 1 bean which qualifies as autowire candidate
存儲庫類:
package ru.spb.repository.user;
@Repository
public class AnketUserRepository implements UserRepository {
@Autowired
private CrudUserRepository crudRepository;
}
界面:
package ru.spb.repository;
public interface UserRepository {
}
服務:
package ru.spb.service;
@Service
public class UserService {
private final UserRepository repository;
@Autowired
public UserService (UserRepository repository){
this.repository = repository;
}
}
配置:在 spring-app.xml 中:
<context:component-scan base-package="ru.spb.service"/>
在 spring-db.xml 中:
<context:component-scan base-package="ru.spb.repository.user"/>
但我發現以下異常:
NoSuchBeanDefinitionException: No qualifying bean of type 'ru.spb.repository.UserRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
我試圖在 UserRepository-interface 上添加 @Repository,但沒有成功。
您還需要注釋接口
package ru.spb.repository;
@Repository
public interface UserRepository {
}
您的組件掃描僅配置到實現類的包,但您正在自動裝配位於不同(非組件掃描)包上的接口。
移動@Repository
注解的inteface,並添加ru.spb.repository
到您的組件掃描
我搬家了
<context:component-scan base-package="ru.spb.repository.user"/>
從 spring-db.xml 到 spring-app.xml。 而這個問題就解決了。 但是我不明白這個問題的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.