当前位置: 首页 > 知识库问答 >
问题:

字段中需要一个类型为无法找到的bean考虑在配置中定义一个类型为

容飞掣
2023-03-14

我在尝试运行我的应用程序时遇到以下错误:

com.alon.service.EmployeeServiceImpl中得字段edao需要类型为“com.alon.Repository.EmployeeRepository”得bean,但找不到该bean.

注入点有以下注释:

    null

package com.alon.repository;

import com.alon.model.Employee;
import org.springframework.stereotype.Repository;
import java.util.List;

@Repository
public interface EmployeeRepository {
    List<Employee> findByDesignation(String designation);
    void saveAll(List<Employee> employees);
    Iterable<Employee> findAll();
}

EmployeeServiceImpl:

package com.alon.service;

import com.alon.model.Employee;
import com.alon.repository.EmployeeRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class EmployeeServiceImpl implements EmployeeService {
    @Autowired
    private EmployeeRepository edao;

    @Override
    public void saveEmployee(List<Employee> employees) {
        edao.saveAll(employees);
    }

    @Override
    public Iterable<Employee> findAllEmployees() {
        return edao.findAll();
    }

    @Override
    public List<Employee> findByDesignation(String designation) {
        return edao.findByDesignation(designation);
    }
}

我的应用程序:

package com.alon;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplicataion {
    public static void main(String[] args) {
        SpringApplication.run(MyApplicataion.class, args);
    }
}

共有1个答案

蔡鹏程
2023-03-14

由于您添加了spring-boot标记,我猜您使用的是sprig data jpa。您的存储库接口应该扩展org.springframework.data.repository.repository(一个标记接口)或它的一个子接口(通常是org.springframework.data.repository.crudrepository),以指示spring提供您的存储库的运行时实现,如果这些接口中的任何一个没有扩展,您将得到

找不到“com.alon.repository.EmployeeRepository”类型的bean。

 类似资料: