gradle构建工具学习系列
首先从官方下载一个SpringBoot项目
git clone https://github.com/spring-guides/gs-rest-service.git

在这个项目的complete目录下是一个完整的SpringBoot项目,同时支持gradle构建和maven构建。

在导入到IDEA之前需要先修改使用的gradle版本(保证不与IDEA冲突)。

这里选择版本为6.8.1,因为Spring Boot插件最低需要这个版本。修改之后如下所示
#Sat Dec 18 20:00:09 CST 2021
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
然后修改build.gradle构建脚本中关于依赖仓库的配置
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
mavenLocal()
maven { url 'https://maven.aliyun.com/repository/public/' }
mavenCentral()
}
然后导入到IDEA中。

导入之后如下所示

这个项目引入了spring boot的插件和依赖。在任务列表当中也添加了相应的任务,比如bootRun.

运行bootRun任务。项目启动成功

项目中控制层类GreetingController 源代码如下
package com.example.restservice;
import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GreetingController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@GetMapping("/greeting")
public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
return new Greeting(counter.incrementAndGet(), String.format(template, name));
}
}
在浏览器输入对应的请求地址http://localhost:8080/greeting?name=User,浏览器响应如下以下类似信息
{"id":1,"content":"Hello, User!"}
在右侧工具栏当中除了可以查看任务列表之外,还可以查看项目的依赖树形图

通过help当中的任务查看依赖

比如树形图

javaToolchains任务
> Task :javaToolchains
+ Options
| Auto-detection: Enabled
| Auto-download: Enabled
+ Oracle JDK 1.8.0_202
| Location: C:\Program Files\Java\jdk1.8.0_202
| Language Version: 8
| Vendor: Oracle
| Is JDK: true
| Detected by: Current JVM
+ Oracle JRE 1.8.0_202
| Location: C:\Program Files\Java\jre1.8.0_202
| Language Version: 8
| Vendor: Oracle
| Is JDK: false
| Detected by: Windows Registry
BUILD SUCCESSFUL in 750ms
1 actionable task: 1 executed
20:37:35: Task execution finished 'javaToolchains'.
projects任务
> Task :projects
------------------------------------------------------------
Root project 'rest-service'
------------------------------------------------------------
Root project 'rest-service'
No sub-projects
To see a list of the tasks of a project, run gradle <project-path>:tasks
For example, try running gradle :tasks
BUILD SUCCESSFUL in 200ms
1 actionable task: 1 executed
通过Gradle创建Spring Boot还是非常简单的。
