首页 > 解决方案 > @RepositoryRestController 和 @Repository 注释有什么区别?

问题描述

我想知道使用注释之间到底有什么区别@RepositoryRestController@Repository因为我都试过了,我发现完全没有区别!

我尝试了以下方法:

@RepositoryRestResource
public interface MovieRepository extends JpaRepository<Movie, Short> { 
} 

@Repository
public interface MovieRepository extends JpaRepository<Movie, Short> { 
}

所以当我尝试 : /movies两种方法时,我得到相同的结果。

如果我使用我@RepositoryRestController应该使用@RepositoryRestController,或者我可以使用@RestController,它们之间有什么区别吗?

标签: javaspringspring-bootspring-data

解决方案


@Repository

@Repository是一个原型接口,用于定义最初由域驱动设计 (Evans, 2003)定义的存储库,作为“一种模拟对象集合的封装存储、检索和搜索行为的机制”

这个注解也作为 的特化@Component,允许通过类路径扫描自动检测实现类。

@RepositoryRestResource

@RepositoryRestResource告诉Spring Data REST将您的存储库公开为 REST 端点。检查文档的相关部分。


如果您想利用 Spring Data REST 的设置、消息转换器、异常处理等为特定资源编写自定义处理程序,您可以使用@RepositoryRestController(而不是标准的 Spring MVC@Controller@RestController注释)。请参阅文档的相关部分。


推荐阅读