【发布时间】:2017-10-09 07:07:50
【问题描述】:
我正在使用 spring 开发一个程序,我正面临这个问题,它说:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean found for dependency [com.owlexa.cms.dao.MemberProductDao]: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
在我的观察中,问题出在我的服务/服务实现中,这是详细信息
服务:
public interface MemberService {
Member findMemberByPK(Integer id);
void deleteMember(Member obj);
void saveOrUpdateMember(Member obj);
Page<Member> findMemberListing(MemberSearchParams params, Pageable pageable);
Member findMemberByColsAndValues(String[] cols, Object[] values);
/*MemberProduct*/
Page<MemberProduct> findMemberProductListing(MemberProductSearchParams params, Pageable pageable);
MemberProduct findMemberProductByColsAndValues(String[] cols, Object[] values);
}
和我的 ServiceImpl
@Service
@Transactional(readOnly = true)
public class MemberServiceImpl implements MemberService{
@Autowired
MemberDao memberDao;
@Autowired
MemberProductDao memberProductDao;
MemberSearchParams memberParams = null;
MemberProductSearchParams memberProductParams = null;
@Override
public Member findMemberByPK(Integer id) {
return memberDao.findOne(id);
}
@Override
@Transactional
public void deleteMember(Member obj) {
memberDao.delete(obj);
}
@Override
@Transactional
public void saveOrUpdateMember(Member obj) {
memberDao.save(obj);
}
@Override
public Page<Member> findMemberListing(MemberSearchParams params, Pageable pageable) {
return memberDao.findListing(params, pageable);
}
public Member findMemberByColsAndValues(String[] cols, Object[] values) {
memberParams = new MemberSearchParams();
memberParams.setEqColumns(cols);
memberParams.setEqValues(values);
Page<Member> member = memberDao.findListing(memberParams, null);
if(member != null && !member.getContent().isEmpty()){
return member.getContent().get(0);
}
return null;
}
@Override
public Page<MemberProduct> findMemberProductListing(MemberProductSearchParams params, Pageable pageable) {
return memberProductDao.findListing(params, pageable);
}
@Override
public MemberProduct findMemberProductByColsAndValues(String[] cols, Object[] values) {
memberParams = new MemberSearchParams();
memberParams.setEqColumns(cols);
memberParams.setEqValues(values);
Page<MemberProduct> memberProduct = memberProductDao.findListing(memberProductParams, null);
if(memberProduct != null && !memberProduct.getContent().isEmpty()){
return memberProduct.getContent().get(0);
}
return null;
}
}
帮我解决问题,请提供您的解决方案, 提前谢谢。
【问题讨论】:
-
请添加完整的堆栈跟踪
-
另外加上
MemberProductDao的代码和他的实现 -
您可能还没有 MemberProductDao 或者您忘记使用例如 @Repository 正确注释它。
-
当您使用它时,请分享 Spring 配置(Java 或 XML)
标签: spring spring-mvc dao autowired