spring.svg

【Spring Boot】Visual Studio Codeへの環境構築

SpringBoot
VSCode

Gradle のインストール

この記事では Gradle を使用するため、事前にインストールしておいてください。 詳細は割愛します。

https://gradle.org/install/

Macの場合
$ brew install gradle

アドオン

Extension Pack for Java

Extension Pack for Java

Extension Pack for Java をインストールすることで、オートコンプリートやコードスニペット、デバッグ、テストなど、Java で開発する上で必要な機能が一通り使えるようになります。

Spring Boot Extension Pack

Spring Boot Extension Pack

Spring Boot Extension Pack をインストールすることで、Spring Boot プロジェクトの作成や実行、デバッグなどができるようになります。

Lombok Annotations Support for VS Code

Lombok Annotations Support for VS Code

これは必須ではありませんが、Lombok を使用する場合はインストールしておきましょう。

またsetting.jsonを開いて、lombok.js が適用されていることを確認してください。 設定がない場合は、lombok.jarのパスを追加してください。

"java.jdt.ls.vmargs": "-javaagent:\"path/lombok.jar\"",

エディタ設定

タブスペース

コマンドパレット(F1 キー)を開き、Preferences: Configure Language Specific Settings...を選択します。 次の選択で Java を選択すると、settings.jsonが開きます。 "[java]"という項目が追加されていると思うので以下のように設定します。

"[java]": {
    "editor.tabSize": 4,
    "editor.insertSpaces": true,
},

editor.tabSizeでは、タブのサイズをスペース 4 つ分に設定しています。 editor.insertSpacesでは、タブ文字をスペースに置き換えるかを設定します。trueに設定するとスペースに置き換わります。

この辺りは好みで設定してください。

保存アクション

設定画面を開き、「Java > Save Actions: Organize Imports」を検索してチェックを入れます。 これにより、ファイル保存時にimport自動で追加または削除されます。

不要であれば設定しなくてもよいです。

プロジェクトの作成

コマンドパレットを開き、「Spring Initializr: Create a Gradle Project...」を選択します。

順にプロジェクトに必要な選択肢が表示されるので、指示通りに進めていきます。 内容としてはここにある通りですので、詳細は割愛します。

プロジェクトが作成されたら、以下のコマンドでライブラリをインストールします。

$ gradle build

実行

動作確認用に以下のコントローラーを作成します。

SampleController.java
@RestController
@RequestMapping
public class SampleController {

  @GetMapping
  public String get() {
    return "test";
  }
}

作成したファイル、またはプロジェクトツリー内で右クリックをすると、「Run Java」、「Debug Java」の選択肢があります。 これを選択することで Spring Boot が実行されます。

実行されたら以下のように、API が実行できることを確認してみてください。

$ curl http://localhost:8080/
test

テストの実行

以下のようにテストファイルを作成します。

SampleControllerTest.java
@SpringBootTest
public class SampleDaoTest {

  private MockMvc mvc;

  @BeforeEach
  void setup() {
    this.mvc = MockMvcBuilders.standaloneSetup(new SampleController()).build();
  }

  @Test
  void get_test() throws Exception {
    mvc.perform(MockMvcRequestBuilders.get("/"))
       .andExpect(MockMvcResultMatchers.status().isOk())
       .andExpect(MockMvcResultMatchers.content().string("test"));
  }
}

テストの実行も同じく、右クリックをして「Run Java」を選択します。 テストに成功すると、以下画像のように行番号の右側にチェックがつきます。

spring-vscode2

テストに失敗すると、以下のように失敗の内容が表示されます。

spring-vscode1

行番号の右側のアイコンをクリックすることで、個別にテストを実行することも可能です。