Lea*_*ner 6 java spring spring-boot
我试图了解 Spring Boot 的各种依赖关系。我遇到过其中三个:
我想知道三者之间的区别。试了一下网上的文档,说这三者几乎和spring data有关。如何解决困惑?
要在此处添加,我还发现了另一个依赖项 spring-boot-starter-web-services。我认为它同时支持 SOAP 和 REST。这只是我的猜测,等待解释
And*_*uer 13
spring-boot-starter-data-jpa 用于通过 JPA(Java Persistence API)访问数据库
spring-boot-starter-data-jdbc 用于通过 jdbc(Java 数据库连接)访问数据
JPA 和 JDBC 之间的区别在于抽象级别。JDBC 更底层,JPA 更“神奇”
spring-boot-starter-data-rest 用于在 Spring Data 存储库之上提供 Rest 端点。
为此,您只需使用 RepositoryRestResource 注释来注释 Spring 数据存储库,然后直接 Spring MVC 创建 Restful 端点。
@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends PagingAndSortingRepository<Person, Long> {
List<Person> findByLastName(@Param("name") String name);
}
Run Code Online (Sandbox Code Playgroud)
如果您执行非常类似于 CRUD(创建、读取、更新、删除)的应用程序,这将非常方便。
JPA 的意思是“Java 持久性 API”。它用于使用对象关系映射在关系数据库中查询或保存数据。
REST 的意思是“代表性状态转移”。它是一种利用 HTTP 动词创建 Web 服务的样式,是 SOAP 的更简单的替代方案。
JDBC starter 使用 Spring JdbcTemplate 在关系数据库中查询或保存数据,而不依赖于对象关系映射。您编写 SQL 并要求 JdbcTemplate 类使用 JDBC 在数据库中执行它。
我认为 JPA 和 JDBC 启动器应该是相互排斥的:要么是其中之一,要么是另一个。
仅当您编写 Web 服务时才使用 REST。这些可能会也可能不会在关系数据库中查询或保存数据。如果 REST 服务需要持久性数据,我希望在 pom 中看到 REST 启动器和持久性启动器。
三个截然不同的首发。
您会问为什么 Spring Boot 有一个将两者结合在一起的 REST 数据启动器父级。一句话:方便。
归档时间: |
|
查看次数: |
1150 次 |
最近记录: |