使用Gradle构建SpringBoot项目

使用 Gradle 构建 SpringBoot 项目

image.png

本章中包含了 Gradle工程的创建依赖SpringBoot生成IDE工程文件调试模式自动化测试 五个部分。本文 Github 代码

一、创建 Gradle 工程

  1. 通过 Spring Initializr 网站创建一个 SpringBoot 工程,或者通过 IDE 来创建 SpringBoot 项目。
  2. 根目录下存在 build.gradle 文件,即证明项目创建成功
  3. 使用 Gradle Wrapper,能够不安装 Gradle 也能运行 gradle。(如果你是使用 IDEA 创建的项目,应该会默认使用 Gradle Wrapper)

二、添加 SpringBoot 依赖

1. 在 build.gradle 中配置 SpringBoot 插件:

buildscript {
    ext {
        // 指定 SpringBoot 的版本
        springBootVersion = '2.0.5.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        // SpringBoot的默认版本
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenCentral()
}


dependencies {
    // SpringBoot依赖
    implementation('org.springframework.boot:spring-boot-starter')
    // Web依赖
    compile("org.springframework.boot:spring-boot-starter-web")
    // 测试依赖
    testImplementation('org.springframework.boot:spring-boot-starter-test')
}

2. 创建启动文件 Run.java

该类是 SpringBoot 程序的入口。

@SpringBootApplication
public class Run{
    public static void main(String[] args){
        SpringApplication.run(Application.java);
    }
}

3. 创建 Controller 接口

@RestController
public class HelloController {

    @GetMapping("/")
    public String hello(){
        return "Hello [Spring Boot + Docker] World! ";
    }
}

4. 启动测试

./gradlew bootRun

使用浏览器或者 Postman 打开 localhost:8080,即可看到 Hello World页面 了。

三、生成 IDE 工程文件

我们可以通过 Gradle 的 IDE插件 一键式的生成 IDE 工程文件,然后在 IDE 中直接打开这样的工程文件。这样,所有人都能够使用相同的 IDE 配置。

build.gradle 中配置:

apply plugin: 'idea'
apply plugin: 'eclipse'

然后执行:

./gradlew idea
./gradlew eclipse

此时会分别生成后缀为 ipr 的 IDEA 工程文件,和 .project工程文件,分别对应着 IDEA 工程和 Eclipse 工程。

请注意,所有IDE工程文件都不应该提交到代码库,对于Git来说应该将这些文件注册到.gitignore文件中。各个开发者拿到代码后需要各自运行./graldlw idea或./gradlew eclipse命令以生成本地工程文件。

四、调试模式

第一种方式,直接运行命令:

./gradlew bootRun --debug-jvm

第二种方式,在 build.gradle 中添加:

apply plugin: 'application'
applicationDefaultJvmArgs = ["-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"]

然后运行 ./gradlew bootRun

这两种方式都会使程序监听 5005 端口。但是第一种方式会暂停以等待调试客户端的连接,然后启动 SpringBoot;而第二种方式程序不会暂停,而是直接启动整个程序。

五、自动化测试

技浅,不太明白。等我开始写测试了之后再看。

六、使用 JaCoCo

JaCoCo 是一款代码测试覆盖率的统计工具。

  1. 在 build.gradle 中添加配置:apply plugin "jacoco"
  2. 运行 ./gradlew build,生成原始数据文件,并且会在 build\libs\ 下生成 jar 文件
  3. 运行 ./gradlew jacocoTestReport,生成测试报告
  4. 打开 build/report/jacoco/test/index.html,即可看到单元测试覆盖率报告.

具体可以查看文章借鉴。

文章借鉴自:无知者云

文章作者: koral
文章链接: http://luokaiii.github.io/2018/10/11/分布式/SpringBoot/1.用Gradle构建SpringBoot项目/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自