download:
从 Java 到全栈,开发带 SKU 的实在企业级电商我的项目
前言
在浅尝 GraphQL 一文形容了 GraphQL 及根本应用,本文提供一个根本示例,形容如何基于 spring boot 的 web 我的项目疾速利用。
graphql-java 的官网文档:
Getting started with GraphQL Java and Spring Boot
,提供了相干依赖用以疾速配置,然而集体真心不倡议应用这个库及相干配置形式来搭建脚手架,在理论开发中,业务 比较复杂 的时候,会导致须要配置的业务代码比拟多也比拟繁琐,绝对上面这种形式,代码复杂性比拟高。
本文提供一种更灵便快捷的形式,在 spring boot
我的项目中疾速利用开发。应用的依赖也和下面官网提供的都不一样,请留神辨别。
疾速开始
创立 spring boot 工程
通过 Spring Initializr 疾速搭建,我选的 jdk 版本及 spring boot 版本,如下所示,其它版本未做兼容性测试
点击下方的 Generate 按钮:
关上工程构造如下,我将 application.properties 删除了替换成 applicaiton.yml,因为我集体比拟喜爱 yaml 的配置形式:
引入相干依赖
pom.xml 配置如下:
<?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>2.4.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.xuxd</groupId>
<artifactId>graphql.demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>graphql.demo</name>
<description>GraphQL Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<lombok.version>1.18.20</lombok.version>
<graphql-java-tools.version>11.0.1</graphql-java-tools.version>
<gson.version>2.8.7</gson.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.graphql-java-kickstart</groupId>
<artifactId>graphql-java-tools</artifactId>
<version>${graphql-java-tools.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>