はじめに
IntelliJ IDEAでSpringBootのプロジェクトを作成する手順を整理します。
今回はJava、Gradleを利用します。
環境
MacOS Catalina (10.15.7)
Java11(openjdk 11.0.12 2021-07-20 LTS)
IntelliJ IDEA 2021.2(Ultimate Edition)
手順
プロジェクト作成
IntelliJを起動してCreate New Projectをクリックします。
Gradle、Javaを選択してNextをクリックします。
SprintBootTestとしてプロジェクトを作成します。
build.gradleの編集
プロジェクトで作成されるbuild.gradle
plugins {
    id 'java'
}
group 'com.ykdevs'
version '1.0-SNAPSHOT'
repositories {
    mavenCentral()
}
dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
}
test {
    useJUnitPlatform()
}
以下の様に編集。
バージョンはSpringBootから最新版を指定した。
pluginsで(org.springframework.boot](https://plugins.gradle.org/plugin/org.springframework.boot)と[io.spring.dependency-management](https://plugins.gradle.org/plugin/io.spring.dependency-management)を指定。
参考
IntelliJを利用するので、pluginsにideaを指定した。参考
JUnitはJUnit5を利用する。
簡単なWebアプリケーションを利用するのでspring-boot-starter-webを指定する。
plugins {
    id 'org.springframework.boot' version '2.5.+'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
    id 'idea'
}
group 'com.ykdevs'
version '1.0-SNAPSHOT'
repositories {
    mavenCentral()
}
dependencies {
    // SpringBoot
    implementation "org.springframework.boot:spring-boot-starter-web"
    testImplementation "org.springframework.boot:spring-boot-starter-test"
    // JUnit
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
}
test {
    useJUnitPlatform()
}
アプリケーション実行クラスの作成
プロジェクト作成時に以下のようなディレクトリができている。
src
├─ main
│  │
│  ├─ java
│  │
│  └─ resources
└─ test
   │
   ├─ java
   │
   └─ resources
main/java配下でパッケージの作成を行う。
カンマ区切りでパッケージ名とアプリケーションクラスを指定すれば、ディレクトリとクラスファイルが同時に作成される。
@SpringBootApplicationのアノテーションをつけ、main関数を作成する。
package com.ykdevs.SpringBootTest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Webアプリケーションクラスを作成する
package com.ykdevs.SpringBootTest.app;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class IndexController {
    @GetMapping("/")
    public String index() {
        return "Greetings from Spring Boot!";
    }
}







