如何解决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
的依赖。请让我知道这里有什么问题
解决方法
你必须导入包org.springframework.data.repository.Repository;
因为如果你去 CouchBaseRepository,它不是从构造型扩展而来的: https://docs.spring.io/spring-data/couchbase/docs/current/api/org/springframework/data/couchbase/repository/CouchbaseRepository.html
,您可以创建一个配置类来扩展 AbstractCouchbaseConfiguration 并覆盖其方法,您需要在其中指定 Couchbase 的 IP 地址、存储桶名称、用户名和密码。我希望在那之后它会起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。