Java 没有类型为'的合格bean;ru.spb.repository.UserRepository';可用:至少需要1个符合autowire候选资格的bean
存储库类:Java 没有类型为'的合格bean;ru.spb.repository.UserRepository';可用:至少需要1个符合autowire候选资格的bean,java,spring,web-services,configuration,Java,Spring,Web Services,Configuration,存储库类: 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.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"/>
我试图在UserRepository界面上添加@Repository,但没有成功。您还需要对界面进行注释
package ru.spb.repository;
@Repository
public interface UserRepository {
}
您还需要对接口进行注释
package ru.spb.repository;
@Repository
public interface UserRepository {
}
您的组件扫描仅配置为实现类的包,但您正在自动连接位于不同(非组件扫描)包上的接口。
将
@Repository
注释移动到接口,并将ru.spb.Repository
添加到组件扫描您的组件扫描仅配置为实现类的包,但您正在自动连接位于不同(非组件扫描)包上的接口。将
@Repository
注释移动到接口,并将ru.spb.Repository
添加到组件扫描中
<context:component-scan base-package="ru.spb.repository.user"/>
从spring-db.xml到spring-app.xml。这个问题就解决了。
但是我不明白这个问题的原因。我搬家了
<context:component-scan base-package="ru.spb.repository.user"/>
从spring-db.xml到spring-app.xml。这个问题就解决了。
但是我不明白这个问题的原因。我现在和以前都这样做了,使用相同的例外情况我现在和以前都这样做了,使用相同的例外情况我向接口添加@Repository注释,并将ru.spb.Repository添加到我的组件扫描中。但我发现了同样的异常…我将@Repository注释添加到接口,并将ru.spb.Repository添加到我的组件扫描中。但我发现同样的例外。。。