2023-03-23
班门弄斧
00

目录

准备工作
概要
Spring Initializr
Gradle-Groovy
创建项目
初始化项目
默认配置
Gradle-Kotlin
默认配置
build.gradle解析
官方说明文档
手动创建Gradle项目
准备项目文件
拓展
总结

准备工作

即将开始使用Gradle来创建项目,你需要做好以下准备工作:

  1. 安装Java开发工具Java Development Kit,最低版本要求1.8,也就是常说的JDK8
  2. 推荐手动安装Gradle,如上一篇文章示例的gradle-8.0.2
  3. 推荐安装Java开发工具IntelliJ IDEA

IntelliJ IDEA是当前主流Java开发工具,以后简称IDEA,本文示例也是基于该编辑器进行开发,建议读者安装IDEA,如果你是首次安装,会获得30天试用期,当然如果使用Eclipse也可以,功能大都相同,主要是操作习惯上有所区别。

概要

本文将主要介绍使用IDEA通过Spring Initializr来创建Gradle的springboot项目的步骤,首先分为Gradle-GroovyGradle-Kotlin两个版本,最后我们尝试不使用Spring Initializr,手动创建项目。

本文除了讲解项目创建的流程外,还会解析项目初始化后的一些配置信息。

通过本文,你可以学到以下知识点:

  1. Gradle项目配置的基本理解。
  2. Gradle-Springboot项目搭建的基本方法。

Spring Initializr

首先使用项目构建工具Spring Initializr来创建项目。

Gradle-Groovy

创建项目

  1. 配置基本参数

打开IDEA项目创建页面,选择Spring Initializr创建工具,Type选择Gradle-Groovy,JDK一般默认为本地已安装的版本,Java选择与JDK对应的8,具体配置如下图:

Initializr-Gradle-Groovy

选择好配置后,点击Next进入下一步。

  1. 选择Springboot版本

本文选择Springboot的2.7.9版本,其他任何选项都无需勾选(后续都可以按需引入),如下图:

Initializr-Gradle-Groovy

选择好版本后,直接点击Create,会自动创建一些基础的文件,并进入IDEA主界面,如下图:

Initializr-Gradle-Groovy

初始化项目

创建项目完成后,项目文件夹中只包含一些基础的配置文件,还缺少很多工具和依赖,如创建时选择的Springboot2.7.9,其实还没有包含在项目中,所以需要对项目进行初始化,来下载项目必要的一些工具和依赖项。

  1. 配置Gradle

刚创建的gradle项目,IDEA会为其下载内置的gradle版本,本文建议将其配置为前面手动安装的gradle-8.0.2

快速配置方式是:打开IDEA右侧的Gradle菜单栏,直接打开Gradle设置,如下图:

打开配置页面后,修改其中的两项配置为你的gradle安装目录,如下图:

gradle-setting

修改完成后,点击OK即可。

  1. 开始初始化

当修改Gradle配置后,IDEA会自动更新项目,如果未更新,也可以点击Gradle菜单中的刷新按钮手动更新,刷新按钮如下图:

初始化过程中,会联网从Maven中央仓库拉取相关依赖(Gradle使用的依赖仓库就是Maven仓库),通过build窗口可以看到下载情况:

download

该图是kotlin下的截图,但内容与Groovy下的一样。

下载完成后,可以看到build窗口的成功提示,即项目初始化完成。

默认配置

通过上述步骤,应该已经创建并初始化成功了一个Gradle-Springboot的项目,其中与Gradle相关的文件有两个,都在项目根目录下:setting.gradlebuild.gradle

  1. setting.gradle

setting.gradle是模块声明文件,没有什么特殊的操作,其初始内容如下:

groovy
rootProject.name = 'gradle-boot'
  1. build.gradle

build.gradle是Gradle的重要配置文件,与Maven的pom.xml相对应,上面示例的初始内容如下:

groovy
plugins { id 'java' id 'org.springframework.boot' version '2.7.9' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() }

该文件的内容解析放在最后,因为其与Kotlin语言的配置基本一样,后续会放到一起比较并说明。

Gradle-Kotlin

创建通过kotlin配置的gradle项目,与上述创建groovy配置的gradle项目步骤完全一样,只需要在最开始选择配置时Type选择Gradle-kotlin即可,所以此处省略详细步骤,参照Gradle-Groovy即可。

默认配置

通过上述步骤创建并初始化项目后,与Groovy形式的区别就在配置文件的文件类型上,使用Kotlin的配置文件是:setting.gradle.ktsbuild.gradle.kts

配置文件内容也基本相同,只是语法稍微有所变化:

  1. setting.gradle.kts
kts
rootProject.name = "gradle-boot-kts"
  1. build.gradle.kts
kts
plugins { java id("org.springframework.boot") version "2.7.9" id("io.spring.dependency-management") version "1.0.15.RELEASE" } group = "com.example" version = "0.0.1-SNAPSHOT" java.sourceCompatibility = JavaVersion.VERSION_1_8 repositories { mavenCentral() } dependencies { implementation("org.springframework.boot:spring-boot-starter") testImplementation("org.springframework.boot:spring-boot-starter-test") } tasks.withType<Test> { useJUnitPlatform() }

build.gradle解析

通过上面build.gradlebuild.gradle.kts的比较,可以看出配置的内容是一样的,只是语法有所变化,现编以build.gradle为分析对象,简单的将配置内容分为五块进行分析。

repositories:定义项目的仓库,这里只有一个中央仓库(mavenCentral())。

dependencies:定义项目的依赖项,其中包括:

implementation:应用依赖项,这里是Spring Boot的starter依赖。 testImplementation:测试依赖项,这里是Spring Boot的starter-test依赖。 tasks.named('test'):对test任务进行配置,使用JUnit 5作为测试框架。

  1. plugins

该标签用于引入本项目要使用的gradle插件,如本项目引入了Javaorg.springframework.bootio.spring.dependency-management三个插件,每个插件提供相应的内置功能。

  • java:Java插件,该插件会自动为项目配置Java编译环境和相关任务。
  • org.springframework.boot:Spring Boot插件,该插件会自动为项目配置Spring Boot应用所需的基本配置。
  • io.spring.dependency-management:Spring Boot依赖管理插件,该插件会自动管理Spring Boot应用所需的依赖版本。

Gradle插件官方说明文档:Using Gradle Plugins

Gradle官方插件中心:Gradle - Plugins

在管理中心,用户可以自己上传自定义的插件供别人使用,也可以搜索已提供的插件。

  1. properties

配置文件中没有明确的properties标签,我将零散的配置定义统称为properties,如:

  • group:指定项目的groupId。
  • version:指定项目的版本号。
  • sourceCompatibility:指定Java源代码的版本兼容性,这里是1.8,也就是Java 8。
  1. repositories

该标签用于配置依赖仓库的地址,可以多仓库,本示例中默认使用Maven的中央仓库。在使用Maven时,我们是在Maven的setting.xml中进行仓库地址配置。

  1. dependencies

该标签用于管理项目的依赖项,与Maven中的dependencies标签相对应。

  1. tasks

改变前用于配置一些任务项,在本示例中:

tasks.named('test') { useJUnitPlatform() }

该配置的作用是让test任务使用Junit测试工具。

官方说明文档

除本示例项目中默认的配置外,Gradle还有很多配置项,如:项目构建脚本配置bulidscript、子项目管理subprojects,发布管理publishing等等,可以查看官方文档进行详细了解:Gradle DSL Version 8.0.2

手动创建Gradle项目

理论上,你的项目根目录下有build.gradle文件,就会被IDEA识别为Gradle项目,所以下面来尝试只用配置文件,其他的让IDEA来帮助我们完成,从而创建一个Gradle-Springboot项目。

准备项目文件

  1. 创建空文件夹,命名为gradle-boot-my
  2. 找到前面通过IDEA生成的项目中的配置文件,将其拷贝到gradle-boot-my文件夹下,如下图: gradle-boot-my
  3. 为了表示尊敬,我们修改setting.gradle文件中的项目名,如下:
groovy
rootProject.name = 'gradle-boot-my'
  1. 使用IDEA打开该文件夹,并修改IDEA中的gradle配置为已安装的gradle文件夹(前面有讲到)。
  2. 刷新项目,可以看到Gradle的相关操作能够正常显示,如下图: boot-my

经过以上几步,其实你已经有了一个Gradle的空项目,只不过现在还没有Springboot的相关文件:启动类、配置文件等,我们可以自己创建这些文件夹与文件,注意文件夹结构要是正确的,可参考前面IDEA帮助创建的文件夹结构

  1. 创建Springboot文件结构,如果使用IDEA创建,会有提示创建哪些基础文件夹;

new-dir

  1. 创建启动类和配置文件,并启动测试,如下图

start

启动类代码:

java
package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * 自定义启动类 * * @author dingdangdog * @date 2023/3/24 14:35 */ @SpringBootApplication public class BootApplication { public static void main(String[] args) { SpringApplication.run(BootApplication.class, args); } }

经过上述简单的几步,就完成了一个简单springboot项目从无到有的创建过程。使用kotlin配置gradle的方式就不演示了,步骤是一样的,读者可以自行测试,就当课后练习了吧。😁

拓展

出了以上通过IDEA搭建Gradle项目外,Gradle自身也支持初始化空项目,官方有一些示例教程,可以选择阅读测试:Try Gradle

总结

上面通过两种方式(Spring Initializr手动创建)搭建了Gradle-Springboot项目,当然也是不得不说IDEA功不可没。

通过本文,你应该学到了一下知识:

  1. Gradle项目配置的基本理解。
  2. Gradle-Springboot项目搭建的基本方法。
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:DingDangDog

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!