最近JavaのSpringBootをやることになりました。
普通、Java環境で特にSpring関係はIntelliJ IDEAやEclipseやSTSなどを使ってると思います。
今回はメインでJavaをやってるわけではないので、通常使用しているVSCodeを使用して構築してみます。
構築してみた結果、VSCodeには豊富な拡張機能があるので拡張機能をインストールすることでかなり使い勝手の良い環境をサクッと作ることができました。以下に今回作成した手順を備忘録として残しておきます。
今回作成する環境
今回構築する目的はざっくりに以下の用途です。
上記目的を踏まえて以下で環境構築します。
- OS:Windows10
- 統合開発環境:Visual StudioCode
- 事前にインストールした拡張機能
- Gradle for Java
- Lombok Annotations Support for VS Code
- Extension Pack for Java
- Spring Boot Extension Pack
- 事前にインストールした拡張機能
- ビルドツール:Gradle 7.6
- Java:17.0.5 2022-10-18 LTS
- フレームワーク:Spring Boot 3.0.1
- 依存関係
- 追加したdependencies
- Spring Boot DevTools(Spring Bootで使用)
- Spring Web(Spring Bootで使用)
- Lombok(アノテーション関係)
- Thymeleaf(テンプレートエンジン)
- Spring Data JDBC(SQL Serverへの接続で使用)
- MS SQL Server Driver(SQL Serverへの接続で使用)
- MyBatis Framework(ORマッパー)
- H2 Database(単体テスト用のデータベースで使用)
- Validation(バリデーションチェックで使用)
- 追加したdependencies
環境構築手順
環境変数とPathの設定
VSCode上でJavaのインストールや環境変数の設定もできるみたいですが私の環境ではできなかかったので手動で環境変数とパスの設定を行っています。
環境変数
Windowsのシステムのプロパティ→詳細設定→環境変数で行います。
変数名 | 値 |
GRADLE_HOME | (Gradle格納先フォルダ)\gradle-7.6-bin\gradle-7.6 |
JAVA_HOME | (Javaインストール先)\jdk-17.0.5 |
Pathの設定
Pathの設定も同様にWindowsのシステムのプロパティ→詳細設定→環境変数でPathに以下を追加します。
・%GRADLE_HOME%\bin ・%JAVA_HOME%\bin
構築手順
VSCode上でコマンドパレットより以下のコマンドを実行します。
Spring Initializr: Create a Gradle Project
Spring Bootのバージョンを選択します。今回は3.0.1にしていますが、(SNAPSHOT)が付いていない最新バージョンを選択するのが良いと思います。
言語を選択します
グループIDを入力します。(一般的にはドメイン名みたいですが今回はcom.exampleとします)
Artfact IDを入力します(プロジェクトのフォルダ名になる)
パッケージタイプを選択します。(今回はJar)
Javaのバージョンを選択します。(今回は17にしてます。)
dependenciesを追加します。後でbuild.Gradleを編集すれば追加や削除も可能です。
今回は上記にも記載通りとりぜず以下の依存関係を追加します。
追加した依存関係(dependencies) |
---|
Spring Boot DevTools |
Spring Web |
Lombok |
Thymeleaf |
Spring Data JDBC |
MS SQL Server Driver |
H2 Database |
MyBatis Framework |
Validation |
選択すると作成先フォルダの選択画面が表示されるので、作成したいフォルダを選択してGenerate into this folderボタンをクリックする。
作成されるとVSCodeの右下に以下のメッセージが表示されるのでOpenをクリックします。
以下のようにフォルダが作成されていればOKです。
初期のフォルダやファイルの構成をツリー上で表すと以下のようになります。
build.Gradle
build.Gradleの設定は以下のようになっていると思います。
plugins {
id 'java'
id 'org.springframework.boot' version '3.0.1'
id 'io.spring.dependency-management' version '1.1.0'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.0'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
上記手順でプロジェクトの作成は完了です。
動作確認
まだコードは一切書いていない状態ですがビルドができるかテストしてみます。ビルドは下図にもある通りVSCodeでぞうさんのマークでbuildを実行すればOKです。VSCodeのGradle for Javaの拡張機能を入れたのでターミナルからコマンドを実行しなくてもビルドができます。
以下のようにSuccessになれば正しくビルドができて構築できています。
まとめ
結論から言うと、Spring BootをVSCodeで開発するのは全然ありだと思います。
VSCode+Java17+SpringBoot3の手順は、あまり参考資料がなかったので不安でしたがやってみると結構サクッと作れます。(私は環境変数やPathの設定とdependenciesの追加で悩みましたが・・・)
拡張機能も一通りそろっていますし、コード補完もしっかりしてくれます。
一つ注意点としてVSCodeはJava11以降しかサポートしていないみたいなのでJava8などで構築したい人はVSCodeではなくSTSなどのツールで実施する必要があるみたいです。
次は、作成したプロジェクトをGitHubに登録する手順について紹介できたらと思います。目標として簡単なCRUD操作ができるWEB画面を作成し、単体テストコードを記述してGitHubActionsでビルドと単体テストを自動で動かすところまで記事にできればと思います。
もっといい構築方法や便利なツールなどがありましたらコメントいただければと思います。
コメント