【发布时间】:2022-12-12 23:27:58
【问题描述】:
我是一名学生,并且是 Java 的新手,我制作了一个 MVC java 应用程序来使用简单的 React 前端练习一些 CRUD 和全栈。一切都很好,但我想准确了解代码上的声明是什么(我使用了一些在线指南)
这条线在这里
private final RepositoryUsers repositoryUsers;
它正在实现接口,所以我可以访问它的方法?
这是我的控制器类
@CrossOrigin(origins = "http://localhost:3000")
@RestController
@RequestMapping("api/")
@Validated
public class ControllerUser {
//this part here
private final RepositoryUsers repositoryUsers;
@Autowired
public ControllerUser (reactboot.springbootreact.repositorio.RepositoryUsers repositoryUsers) {
this.repositoryUsers = repositoryUsers;
}
@GetMapping("users")
public List<User> getUsers(@RequestParam(name = "k", required = false) String keyword) {
if (keyword == null) {
return repositoryUsers.findAll();
} else {
return this.repositoryUsers.findAllByNomeLike(keyword);
}
}
我知道我们不能从接口创建对象,但是不应该在类声明中实现接口?
【问题讨论】:
-
“它正在实现接口,所以我可以访问它的方法?”不,它只是声明一个
RepositoryUsers类型的变量。它的实现是传递给ControllerUser的构造函数的任何东西(可能是通过某种依赖注入框架?) -
模糊的标题。重写以总结您的具体技术问题。
标签: java spring model-view-controller interface controller