はじめに
MacにおけるSpringBoot&PostgreSQLの開発環境を構築する方法を解説します。コードエディタはVSCodeを使用しました。必要なソフトウェアのインストールから、構築、最後ブラウザでアプリケーションの動作確認を行うところまでの手順を説明いたします。
開発環境
項目 | バージョン |
---|---|
OS | macOS Ventura 13.1 |
プロセッサ | 1.6 GHz デュアルコアIntel Core i5 |
VSCode | 1.75.0 |
Java(JDK) | 17.0.6 |
SpringBoot | 3.0.3 |
Gradle | 7.6 |
PostgreSQL | 15.1 |
VSCodeのインストール
以下のサイトよりインストーラーをダウンロードしてインストールしてください。
Download Visual Studio Code
Java(JDK)のインストール
以下で解説しております。
macOSのJDK17インストール方法
PostgeSQLのインストール方法
以下で解説しております。
Postgres.appでインストールしたい場合
macOSのPostgreSQL(Postgres.app)のインストール方法
Homebrewからインストールしたい場合
VSCodeの拡張機能のインストール
SpringBootの開発におすすめな以下のVSCode拡張機能をインストールしてください。
Extension Pack for Java
基本的なJavaの開発を支援する拡張機能が1セットになっています。
Gradle Extension Pack
Gradleプロジェクトの開発を支援する拡張機能が1セットになっています。
Spring Boot Extension Pack
SpringBootの開発を支援する拡張機能が1セットになってます。
SpringBootプロジェクトの作成
ワークディレクトリの作成
ターミナルにおいて以下のコマンドを実行し、ワークディレクトリを作成します。
※既にプロジェクトを作成したいワークディレクトリがある場合は当手順は不要です。
$ cd /* ワークディレクトリを作成したいディレクトリのパス */
$ mkdir -m 777 work
※ワークディレクトリの名前に制約はありません。
ワークディレクトリをVSCodeで開く
ターミナルにおいて以下のコマンドを実行し、ワークディレクトリをVSCodeで開きます。
$ cd work
$ code . // VSCodeで"."(カレントディレクトリ)を開くコマンド
コマンドパレットを開く
「Command + Shift + P」でコマンドパレットを開く。
コマンドパレットでSpringBootのプロジェクトの設定をしていく
コマンドパレットに「Spring Initializr」を入力し、「Spring Initializr: Create a Gradle Project...」を選択
Spring Bootのバージョン選択
特にこだわりがなければ最新版を選択。バージョンが大きいものはGA版(General Availability)でないので注意。
以下のキャプチャでは3.0.3が最新。
Spring Bootのバージョン情報は以下で確認が可能。
Spring Bootバージョン情報
言語の選択
Group IDの設定
特に指定がなければそのまま(com.example)でいいです。当記事ではそのまま設定します。設定を入力したらEnterを押す。
Artifact IDの設定
プロジェクト名を設定します。当記事では"samplepj"としました。大文字は使用できないようです。設定を入力したらEnterを押す。
Packaging Typeの設定
JarかWarどちらかを選択します。当記事ではJarを選択することとします。
Javaのバージョンの選択
ライブラリ選択
初回で取り込むライブラリを選択します。当記事ではSpringBootの開発において代表的な以下のライブラリをインストールすることとします。
ライブラリ名 | 説明 |
---|---|
Spring Boot DevTools | SpringBootの開発補助ツール。コード変更時にアプリケーションの再起動なしで即座に変更を反映したり、キャッシュの削除機能があったりする。 |
Spring Web | SpringフレームワークのWebアプリケーション開発に特化したモジュール |
Thymeleaf | JavaのWebアプリケーションにおいてHTMLを生成するためのテンプレートエンジン |
Lombok | ゲッターやセッターなどの冗長なコードを自動生成してくれるライブラリ |
PostgreSQL Driver | JavaプログラムがPostgreSQLデータベースにアクセスするためのドライバー |
"Search for dependencies"に取り込むライブラリ名を入力し、該当のライブラリが表示されたらクリックする。
必要なもの全てにチェックが入った状態(以下のキャプチャ)で"Selected 5 dependencies"をクリックする。
プロジェクトの作成フォルダの選択
Finderのウィンドウが表示されるので、特にフォルダに変更がなければ"Generate into this folder"をクリックする。
プロジェクト作成の完了を確認
右下にプロジェクト作成成功のポップアップが表示され、エクスプローラーにプロジェクトのディレクトリが作成されていることを確認する。
VSCodeでSpring Bootプロジェクトを開き直す
一度workディレクトリで開いたVSCodeのウィンドウを閉じて、ターミナルで以下のコマンド実行し、Spring Bootプロジェクトを開き直す。
$ cd samplepj
$ code .
build.gradle等が含まれたSpring Bootプロジェクトが作成されていることが確認できます。
サンプルプロジェクト用のデータベースの作成
Postgres.appの場合
PostgreSQL起動
Postges.appを起動し、PostgreSQLを起動する。
起動すると以下の通り。
Homebrewの場合
brew services start postgresql
※"postgresql"の部分は、"postgresql@11"のようにバージョン指定でインストールしている場合はインストールした名前を当てはめる必要があります。
PostgreSQLログイン
ターミナルで以下のコマンドを実行し、PostgreSQLにログインする。
$ psql -h localhost -p 5432 -U postgres
portはデフォルト5432ですが、Postgres.app等で確認できます。
データベースの作成
ターミナルで以下のコマンドを実行し、サンプルプロジェクト用のデータベースを作成する。
postgres=# create database samplepjdb;
CREATE DATABASE
参照コマンドでデータベースを確認します。
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges
-----------------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
...
samplepjdb | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | en-US | icu |
...
SpringBootプロジェクトとPostgreSQLの接続
PostgreSQLドライバをbuild.gradleに追加する
先程作成した"samplepj"直下のbuild.gradleのdependenciesに以下の2行を追記します。
dependencies {
...
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
...
}
application.propertiesへのDB情報の追記
application.propertiesにPostgeSQLに作成したDBの情報を入力します。
src/main/resources/application.properties
spring.jpa.database=POSTGRESQL
spring.datasource.url=jdbc:postgresql://localhost:5432/samplepjdb
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.jpa.open-in-view=True
logging.level.org.hibernate.SQL=debug
プロジェクトの実行
以下のメインのJavaファイルをエクスプローラから開きます。
src/main/java/com/example/samplepj/SamplepjApplication.java
その上でVSCodeの以下をクリックし、プロジェクトの実行を行います。
実行 -> デバッグの実行
問題なく実行できるとターミナルが起動し、プロジェクトが実行されます。
停止する時は
実行 -> デバッグの停止
サンプルプログラムを動かしてみる
サンプルプログラムを追加し、ブラウザに文字を表示します。
controllerディレクトリの作成
以下のパスに"controller"ディレクトリを作成します。
- ディレクトリ作成パス
src/main/java/com/example/samplepj - ディレクトリ名
controller
IndexController.javaの追加
作成したcontrollerディレクトリにIndexController.javaを追加し、以下のプログラムを記載します。
package com.example.samplepj.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/index")
public class IndexController {
@RequestMapping("")
public String index(){
return "/index";
}
}
テンプレートの追加
templatesディレクトリにindex.htmlを作成し、以下の内容を記載します。
<!DOCTYPE html>
<html lang="jp" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<h1>Hello World!!</h1>
</body>
</html>
再度プロジェクトを実行する
再度SamplepjApplication.javaを開き、以下をクリックし、プロジェクトの実行を行なってください。
実行 -> デバッグの実行
ブラウザ確認
以下のURLをブラウザで開き、index.htmlの内容が表示されれば環境構築は完了です。
http://localhost:8080/index
データベースのアクセスがあるサンプルプログラムは後日解説します。
サンプルリポジトリ
[GitHub] SpringBootSampleProject