【问题标题】:No qualifying bean found for dependency Error找不到符合条件的 bean 依赖错误
【发布时间】: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


【解决方案1】:

我相信 MemberProductDAO 中至少有一个 Autowired 字段不是由 Spring 产生的。请分享您的 MemberProductDAO 文件和 Spring.xml 文件以进行更多调试。

【讨论】:

    猜你喜欢
    • 2013-06-28
    • 2017-01-16
    • 2013-12-18
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 2015-04-17
    • 2014-09-24
    相关资源
    最近更新 更多