使用 Data REST 读取数据
一、Data REST
- Spring Boot 与数据库交互,除了可以用 Spring Data JPA 的访问接口来获取数据的方式外,还可以使用 Spring Data REST 自动输出 REST 资源来获取数据,而且就代码量来说,后者的代码量更少。
- Spring Data REST 目前支持将 Spring Data JPA,Spring Data MongoDB、Spring Data Neo4j、Spring Data GemFire 以及 Spring Data Cassandra 的 repository 自动转换成 REST 服务。
- Spring Boot 不仅对 Data REST 支持,而且在 SpringBootRepositoryRestMvcConfiguration 类中为我们对 Data REST 的初始进行许多配置;因此,我们要使用 Data REST,只需在 POM 文件中添加相关依赖即可,RepositoryRestConfiguration 的配置则在 application.properties 中使用前缀 spring.data.rest 进行进行开启和关闭即可。
二、示例项目
- 在这里我用一个简单项目对 Data REST 进行了测试,同时为了更方便的使用和访问 REST 服务,需要对浏览器安装相关插件。
1、浏览器 REST 支持
- 要在浏览器中使用 REST 服务,就需要安装 REST client 插件,我使用的是谷歌浏览器,安装的插件叫 “Postman REST client”,如下图:
- 其他浏览器也应该有相关的插件。
2、新建项目与编辑依赖
- 在 IDEA 中用项目新建引导,新建一个带初始的 Spring Boot 项目,初始依赖选择 JPA 和 Rest Repository。
- 具体 POM 文件如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.0.M2</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.pyc</groupId> <artifactId>springbootrest</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springbootrest</name> <packaging>jar</packaging> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency> <dependency> <groupId>com.oracle</groupId>