首页 > 解决方案 > UnsatisfiedDependencyException:创建名为“employeeController”的bean时出错:通过字段“repository”表达的不满足依赖关系

问题描述

我面临以下错误:

-取消刷新尝试:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“employeeController”的bean时出错:通过字段“repository”表示的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有“com.example.demo.EmployeeRepository”类型的合格 bean 可用:预计至少有 1 个有资格作为候选者的 bean。依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)}

下面是我的代码(我没有故意制作任何服务类,通过添加服务类发生同样的错误)

EmployeeController.java

    @RestController
    public class EmployeeController {
    
        @Autowired
        EmployeeRepository repository;
        
        @PostMapping("/employee/add")
        public Employee addEmployee(@RequestBody Employee emp)
        {
            return repository.save(emp);
        }
        
        @GetMapping("/employee/{id}")
        public Optional<Employee> getEmployee(@PathVariable Integer id)
        {
            return repository.findById(id);
        }
        
        @PutMapping("/employee/{id}")
        public Employee updateEmployee(@PathVariable Integer id,@RequestBody Employee emp)
        {
            Optional<Employee> employee=repository.findById(id);
            if(employee.isPresent())
            {
                return repository.save(emp);
            }
            else
            {
                return null;
            }
        }
        
        @DeleteMapping("/employee/{id}")
        public String deleteEmployee(@PathVariable Integer id)
        {
            repository.deleteById(id);
            return "Document Deleted";
        }
            
        }

EmployeeRepository.java

    @Repository
    public interface EmployeeRepository extends CouchbaseRepository<Employee, Integer>{
        
    
    }

我无法理解为什么employeeController无法获得employeeRepository何时@Autowired使用的依赖关系。请让我知道这里有什么问题

标签: spring-bootcontrollerdependenciesrepositoryautowired

解决方案


您必须导入包 org.springframework.data.repository.Repository;

因为如果你去 CouchBaseRepository,它不是从原型扩展而来的: https://docs.spring.io/spring-data/couchbase/docs/current/api/org/springframework/data/couchbase/repository/CouchbaseRepository。 html


推荐阅读