Gradle的简洁之美,Gradle搭建SpringBoot+DataJpa项目

2020-09-30 01:53:51 浏览数 (1)

1. 什么是Gradle

Gradle是一个开源的构建自动化工具,专注于灵活性和性能。Gradle构建脚本使用Groovy或Kotlin DSL 编写。他和Maven一样都能帮我们管理jar包。

2. Maven对比Gradle

1.Gradle使用的是Groovy脚本语言进行jar包依赖,Maven使用的是XML的。

2.Gradle更加的简洁,通过上面图可以看出来,maven的依赖相比gardle要庞大许多,当项目越来越大时,maven的依赖实际上是非常臃肿的。

3.性能,缩短构建时间是最快速发货的最直接方式之一。Gradle和Maven都采用某种形式的并行项目构建和并行依赖性解析。最大的区别是Gradle的工作避免和增量机制。使Gradle比Maven快得多的前3个功能是:

  • 增量 - Gradle通过跟踪任务的输入和输出并仅运行必要的操作来避免工作,并且只处理在可能的情况下更改的文件。
  • 构建缓存 - 使用相同的输入(包括计算机之间)重用任何其他Gradle构建的构建输出。
  • Gradle守护进程 - 一种长期存在的进程,可将构建信息保持在内存中“热”。

在Gradle与Maven性能比较中,这些和更多性能特性使Gradle在几乎每种情况下的速度至少快两倍(使用构建缓存的大型构建速度快100倍)。

来自于Grdle官网https://gradle.org/maven-vs-gradle/

3. Gradle下载安装

可以通过Gradle官方地址https://gradle.org/maven-vs-gradle/进行下载,然后配置好环境变量。然后进入dos命令通过gradle -v查看是否配置成功。ps:gradle版本如果过高且idea版本不是很高会有错误,我这边选择的gradle是4.4版本idea是2018.3.6

4. Idea创建gradle项目,并使用Maven仓库

很多人跟我一样之前一直使用的是maven,那么maven的repository中是存在很多jar包的,但是gradle实际上是有自己的本地仓库的,一般默认在c盘/用户/user/.gradle里面,但是我们如果使用gradle的仓库,那么我们许多包都需要重新下载,且gradle即使配置了镜像,下载jar包相比较maven也是很慢的,所以我们使用原本已经有的maven仓库中的jar包。

1.找到Maven的repository,然后拷贝路径,在环境变量中配置一个GRADLE_USER_HOME,ps:只需要配置这个不需要再把这个添加到Path中

2.打开重新打开Idea然后找到Setting,找到Gradle然后查看service directory Path此时已经指向的是我们maven本地仓库的地址。

3.在buile.gradle(相当于maven的pom)的repositories中添加一句MavenLocal(),表示先去本地maven仓库中找jar,再去远程仓库找。

导入SpringBoot SpringDataJpa所需要的依赖

与Maven不同的是,maven如果在父模块引入了依赖那么子模块都自动有了相应的依赖,而gradle需要手动进行引入,使用allprojects,将依赖的jar包全部放入到allprojects中,表示所有的子模块都使用父模块allprojects中的jar包。

我自己建立的项目是在启动类放在了application模块中,user业务是单独创建了一个模块,所以application需要依赖user进行扫包。

user模块下面的三层,以及业务处理如下(只有一个查询所有用户的逻辑)

Controller

Service

Service的实现

Jpa的Repository

持久层domain(截图不是很完整,下面是get、set方法)

配置数据库以及DataJpa,注意是一般这些主要配置是放在启动类的resource下面

到此整个项目搭建完毕,细心的你会发现我们的子模块的build.gradle除了有依赖的,实际空空如也,什么都没有,甚至连一行说明都没有,从这里你可以看出来gradle简洁干净,相比maven更加的清爽。下面是user的build.gradle,里面可以什么都没有。

5. 启动项目并测试

先查看一下数据库中的数据,然后启动项目通过浏览器进行访问,查看结果是否和数据库的数据一致。

0 人点赞