【发布时间】:2021-08-14 09:54:47
【问题描述】:
我面临以下错误:
-取消刷新尝试: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>{
}
我无法理解为什么在使用@Autowired 时employeeController 无法获得employeeRepository 的依赖关系。请让我知道这里出了什么问题
【问题讨论】:
-
您是否为注释使用了正确的导入?
-
是的,正在导入 -> import com.example.demo.EmployeeRepository;导入 org.springframework.beans.factory.annotation.Autowired;这些用于 EmployeeController,以下用于 EmployeeRepository-> package com.example.demo;导入 org.springframework.data.couchbase.repository.CouchbaseRepository;导入 org.springframework.stereotype.Repository;
标签: spring-boot controller dependencies repository autowired