使用IDEA创建Spring Boot 3项目(gradle篇)


tips:按照以下步骤创建项目可少走弯路
本教程测试时使用IDEA 2022.2.3,使用其他版本的操作应该也类似
父项目名:parent-project
后端子模块名:server
前端子模块名:web
请根据实际需要进行调整,如使用其他的项目名或创建多个子模块

新建父项目

  1. 选择Spring Initializr,填写项目名(parent-project)等信息,注意:Spring Boot 3最低支持版本是Java 17,点击下一步。
  2. 选择子Spring Boot项目需要的依赖,如果需要创建多个Spring Boot子模块,请选择其中一个子模块的依赖。比如:
    • Spring Boot DevTools
    • Lombok
    • Spring Web
    • MySQL Driver
    • MyBatis Framework
  3. 点击创建,等待项目创建完成。

新建Spring Boot子模块

  1. 右键父项目(parent-project)-新建-新模块。
  2. 左侧选择新建模块注意:不要再选择Spring Initializr),填写子模块名(server),注意构建系统选择gradle,父项选择parent-project。
  3. 打开父项目的build.gradle.kts (parent-project),全选并复制到子Spring Boot模块build.gradle.kts (server)。直接覆盖build.gradle.kts (server)原内容即可。同时父项目仅保留group和version属性即可。此时:
// build.gradle.kts (parent-project)
group = "com.example"
version = "0.0.1-SNAPSHOT"
// build.gradle.kts (server)
plugins {
    java
    id("org.springframework.boot") version "3.3.4"
    id("io.spring.dependency-management") version "1.1.6"
}

java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(17))
    }
}

configurations {
    compileOnly {
        extendsFrom(configurations.annotationProcessor.get())
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3")
    compileOnly("org.projectlombok:lombok")
    developmentOnly("org.springframework.boot:spring-boot-devtools")
    runtimeOnly("com.mysql:mysql-connector-j")
    annotationProcessor("org.projectlombok:lombok")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
    testImplementation("org.mybatis.spring.boot:mybatis-spring-boot-starter-test:3.0.3")
    testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}

tasks.withType<Test> {
    useJUnitPlatform()
}
  1. 重新加载所有gradle项目并重新启动IDEA(如果代码洞察不可用)

  2. 在Spring Boot子模块(server)的代码根目录java目录下创建Spring Boot启动类com.example.server.ServerApplication

@SpringBootApplication
public class ServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServerApplication.class, args);
    }
}
  1. 在resources目录下创建Spring Boot配置文件application.yml
spring:
  application:
    name: server

  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: ${DB_USERNAME}
    password: ${DB_PASSWORD}
    url: ${DB_URL}
  1. 删除父项目下的src目录,现在Spring Boot子项目创建完成

创建Vue3子项目(可选,如果需要使用gradle构建、打包node项目)

先决条件:已安装Node.js
tips:Windows推荐使用nvm安装node,以便切换版本
参考链接:在 Windows 上安装 Node.jsnvm-windows发布页面

  1. 在IDEA打开终端(或打开系统的终端,进入到父项目的目录),输入npm create vue@latest创建vue3项目(web),按照提示完成项目创建。根据提示使用cd webnpm install完成项目初始化。
  2. 在vue3项目目录(web)创建文件build.gradle.kts,写入以下内容,以便使用gradle构建vue3项目。
import com.github.gradle.node.npm.task.NpmTask

plugins {
    id("com.github.node-gradle.node") version "7.1.0"
}

node {
    download.set(false)
}

tasks.register<NpmTask>("build") {
    group = "build"
    args.set(listOf("run", "build"))
}
  1. 打开父项目的settings.gradle.kts,引入vue项目为子模块
rootProject.name = "storage-service"
include("server", "web")
  1. 重新加载所有gradle项目(刷新gradle配置),完成项目创建。

  2. 检查项目是否正确创建:此时打开IDEA文件-项目结构-模块,如下图,即项目已正确创建。