Gradle 创建Spring Boot项目

news/2024/11/15 3:48:46 标签: 笔记

在 Spring Boot 项目中,Gradle 插件可以让你更方便地管理依赖、打包、运行和测试 Spring Boot 应用。以下是如何使用 Spring Boot Gradle 插件的详细指南:

1. 引入 Spring Boot 插件

build.gradle 中引入 Spring Boot 插件可以为项目提供各种便捷的功能。Spring Boot 插件发布在 Gradle 的插件门户,可以在 plugins 块中使用以下代码来应用它:

plugins {
    id 'org.springframework.boot' version '2.3.7.RELEASE'           // 维护 Spring Boot 版本号
    id 'io.spring.dependency-management' version '1.0.10.RELEASE'   // 提供依赖管理功能
    id 'java'                                                       // 引入 Java 插件
}

说明

  • org.springframework.boot 插件:负责打包 Spring Boot 应用,使项目可直接打包为可执行的 JAR 或 WAR 文件。
  • io.spring.dependency-management 插件:提供依赖管理,允许在引入 Spring Boot 相关依赖时省略版本号,并自动解决版本冲突。
  • java 插件:添加 Java 项目的基础支持。

2. 引入所需依赖

dependencies 块中引入所需的 Spring Boot 依赖:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'            // Spring Boot 基础依赖
    implementation 'org.springframework.boot:spring-boot-starter-web'         // Web 应用的依赖
    testImplementation('org.springframework.boot:spring-boot-starter-test') { // 测试依赖
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'    // 排除 JUnit Vintage
    }
}

说明

  • spring-boot-starter:核心的 Spring Boot 启动器,提供基础的 Spring Boot 依赖和自动配置。
  • spring-boot-starter-web:用于构建 Web 应用的依赖,包含内嵌的 Tomcat、Spring MVC 等。
  • spring-boot-starter-test:包含测试所需的依赖,如 JUnit、Mockito 等。此处排除 junit-vintage-engine 以避免与 JUnit 5 的兼容问题。

3. 配置测试任务

配置 test 任务以使用 JUnit Platform:

test {
    useJUnitPlatform()
}

4. 使用 Gradle 命令运行和打包项目

4.1 运行项目

要运行当前的 Spring Boot 项目,可以在命令行中执行以下命令:

./gradlew bootRun

也可以在 IDEA 或其他支持 Gradle 的开发工具中直接使用“运行”按钮启动项目。

4.2 打包为可执行 JAR

如果需要将项目打包为可执行 JAR 文件,可以使用以下命令:

./gradlew bootJar

生成的 JAR 文件将位于 build/libs 目录下,带有必要的依赖和自动化配置,使其可以直接运行。例如:

java -jar build/libs/your-app-name.jar

5. Spring Cloud 项目

对于 Spring Cloud 项目,Spring Initializr 脚手架工具可以极大简化项目的创建。Spring Initializr 提供了 Spring Boot 和 Spring Cloud 的整合模板,便于快速生成云端应用。

可以使用 Spring Initializr 创建项目,选择依赖项后下载项目,解压并导入 IDE,即可按照与 Spring Boot 项目类似的方式使用。

Spring Boot Gradle 插件提供了便利的依赖管理和打包支持,使开发者可以更高效地管理 Spring Boot 应用的构建和部署。利用插件的 bootRunbootJar 命令,Spring Boot 应用可以轻松运行或打包,简化了开发和部署流程。

spring-boot-gradle-plugin 插件

是 Spring Boot 项目构建和依赖管理的核心插件。我们可以进一步通过 buildscript 块配置插件的源和版本,尤其是在国内的开发环境中,这种配置可以使用国内的 Maven 镜像来提升构建速度。

使用 buildscript 配置 Spring Boot Gradle 插件

在使用 Spring Boot Gradle 插件时,可以通过 buildscript 块手动配置插件的存储库和版本,这在插件版本与项目需求不完全匹配或者需要自定义配置时很有用。

buildscript {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' } // 使用阿里云的 Maven 镜像
    }
    dependencies {
        classpath 'org.springframework.boot:spring-boot-gradle-plugin:2.4.1' // 指定 Spring Boot 插件版本
    }
}

// 应用 Spring Boot 和依赖管理插件
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

配置说明

  1. 插件存储库

    • 使用 maven { url 'https://maven.aliyun.com/repository/public' } 配置了阿里云的 Maven 镜像,以便更快地下载依赖。阿里云镜像是国内常用的开源库镜像,适合在国内访问速度较慢的情况。
  2. 插件依赖

    • dependencies 块中引入 spring-boot-gradle-plugin 插件并指定版本,如 2.4.1。这个版本号可以根据项目要求调整。
  3. 应用插件

    • 使用 apply plugin 语句将 org.springframework.boot 插件应用到项目中,用于管理 Spring Boot 的构建任务。
    • io.spring.dependency-management 插件用于简化依赖的版本管理。使用它可以省去手动指定依赖的版本号,插件会自动使用 Spring Boot 提供的版本。

运行和打包命令

  • 运行 Spring Boot 项目:直接执行以下命令启动应用程序。

    ./gradlew bootRun
    
  • 打包为可执行 JAR 文件:执行以下命令生成可运行的 JAR 文件。

    ./gradlew bootJar
    

生成的 JAR 文件可以使用 java -jar 命令直接运行,无需依赖额外的应用服务器。


通过以上方式配置 spring-boot-gradle-plugin 插件,不仅可以提升项目构建的速度,还可以简化 Spring Boot 应用的构建和运行流程。


http://www.niftyadmin.cn/n/5752607.html

相关文章

丹摩征文活动 | 丹摩智算平台:服务器虚拟化的璀璨明珠与实战秘籍

丹摩DAMODEL|让AI开发更简单!算力租赁上丹摩! 目录 一、引言 二、丹摩智算平台概述 (一)平台架构 (二)平台特点 三、服务器虚拟化基础 (一)虚拟化的概念 &#xf…

12306中如何知道用户使用的哪种登录方式?(用户名、邮箱、手机号)

手机号一定不带符号(必须为11位纯数字),邮箱一定带有符号用户名不能用纯数字用户名不能是11位的手机号格式(正则匹配)增加一个标识字段表明是手机号登录(例如:手机号 验证码,有标识…

力扣589:N叉树的先序遍历

给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例 1: 输入:root [1,null,3,2,4,null,5,6] 输出&…

【大数据测试HBase数据库 — 详细教程(含实例与监控调优)】

大数据测试HBase数据库 1. 环境准备与安装1.1 安装 HBase 环境1.1.1 下载与安装 HBase1.1.2 配置 HBase 2. 功能测试2.1 创建表和插入数据2.2 查询数据2.3 更新数据2.4 删除数据2.5 查看表格结构 3. 性能测试3.1 使用 HBase 自带的性能测试工具3.2 使用 YCSB 进行性能测试 4. 容…

深入理解 React 架构从概览到核心机制

开发领域:前端开发 | AI 应用 | Web3D | 元宇宙 技术栈:JavaScript、React、ThreeJs、WebGL、Go 经验经验:6年 前端开发经验,专注于图形渲染和AI技术 开源项目:github 晓智元宇宙、数字孪生引擎、前端面试题 大家好&am…

webpack指南

​🌈个人主页:前端青山 🔥系列专栏:webpack篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来webpack篇专栏内容:webpack-指南 概念 中文: webpack | webpack中文文档 | webpack中文网 英文&…

探秘Spring Boot中的@Conditional注解

文章目录 1. 什么是Conditional注解?2. 为什么需要Conditional注解?3. 如何使用Conditional注解?4. Conditional注解的高级用法5. 注意事项6. 结语推荐阅读文章 在Spring Boot的世界里,配置的灵活性和多样性是至关重要的。有时候&…

C++编程技巧与规范-类和对象

类和对象 1. 静态对象的探讨与全局对象的构造顺序 静态对象的探讨 类中的静态成员变量(类类型静态成员) 类中静态变量的声明与定义&#xff08;类中声明类外定义&#xff09; #include<iostream> using namespace std;namespace _nmspl {class A{public:A():m_i(5){…