目次
Spring Initializerとは
Spring Initializer(スプリング・イニシャライザー)とは、Spring
Frameworkベースのプロジェクトを簡単にセットアップするためのオンラインツールです。
開発者はこのツールを使用して、必要な設定や依存関係を選択し、初期設定されたプロジェクトを生成できます。
新しいプロジェクトを迅速に開始したい場合や、設定作業を簡略化したい場合に非常に便利なツールです。
目標
Spring
Initializerを使って、Springプロジェクトを作成しようと思います。
また、Spring
Initializerの便利さを理解するために、SpringSecurityを導入してログイン画面を簡単に作ってみようと思います。
私は開発環境としてEclipseを使用していますが、IntelliJ等、他のIDEでもやることは基本同じだと思います。
Spring InitializerでSpringプロジェクトを作成する手順
Spring Initializerのサイトにアクセス
Spring Initializerのウェブサイトにアクセスします。
プロジェクトの設定
写真のような感じで必要項目を選択していきます(各項目の説明は以下で説明します)。
Spring Initializerでプロジェクトの設定を行う際の各項目についての説明
- Project
-
プロジェクトが使用するビルドツールを選択します。
私はMavenで開発することが多いです。
選択肢:
-
Maven Project:
Mavenをビルドツールとして使用します。MavenはXMLファイル(
pom.xml
)で依存関係やビルド設定を管理します。 -
Gradle Project:
Gradleをビルドツールとして使用します。GradleはGroovyまたはKotlinで書かれたビルドスクリプト(
build.gradle
)を使用します。
-
Maven Project:
Mavenをビルドツールとして使用します。MavenはXMLファイル(
- Language
- 使用するプログラミング言語を選択します。
- Spring Boot
-
プロジェクトで使用するSpring Bootのバージョンを選択します。
最新の安定版がデフォルトで選択されることが多いです。必要に応じて、特定のバージョンを選択できます。 - Project Metadata
-
プロジェクトに関するメタデータを設定します。
-
Group:
プロジェクトのグループIDを指定します。通常は企業名やドメイン名を逆さにした形式で指定します(例:
com.example
)。 -
Artifact:
プロジェクトのアーティファクトIDを指定します。アーティファクトはプロジェクトの名前で、生成される成果物(例:
myproject
)。 -
Name:
プロジェクト名を指定します。通常、アーティファクトIDと同じにします(例:
myproject
)。 -
Description:
プロジェクトの簡単な説明を入力します。任意です(例:
My Spring Boot application
)。 -
Package name:
Javaのパッケージ名を指定します。通常、GroupとArtifactを組み合わせたものがデフォルトで設定されます(例:
com.example.myproject
)。 -
- Packaging
- プロジェクトのビルド成果物の形式を選択します。
自身のパソコンで動かす分には、Jarでいいと思います。
選択肢:
- Jar: Javaアーカイブ(JAR)形式。デフォルトで使用され、Spring Bootアプリケーションとしてよく使われます。
- War: Webアーカイブ(WAR)形式。通常、外部のアプリケーションサーバーにデプロイする場合に使用します。
-
- Java
- 使用するJavaのバージョンを選択します。
選択したバージョンがプロジェクトで使用するJavaのバージョンになります。
-
Group:
プロジェクトのグループIDを指定します。通常は企業名やドメイン名を逆さにした形式で指定します(例:
- Dependencies
-
プロジェクトに追加する依存関係を選択できます。これにより、Spring Bootプロジェクトに必要なライブラリや機能を簡単に組み込むことができます。
一般的な依存関係の例としては、以下のようなものがあります。
(今回は、「Spring Web」と「Spring Security」を追加しています)
- Spring Web: Webアプリケーションを作成するための依存関係
- Spring Data JPA: JPAを使用したデータアクセス
- Spring Security: セキュリティ機能
- Thymeleaf: サーバーサイドテンプレートエンジン
- Spring Boot DevTools: 開発ツール
必要な依存関係を選択し、追加します。
プロジェクトの生成
すべての設定が完了したら、「Generate」ボタンをクリックしてプロジェクトを生成します。
プロジェクトのダウンロード生成されたプロジェクトがZipファイルとしてダウンロードされます。このZipファイルを解凍します。
IDEでプロジェクトを開く
解凍したプロジェクトフォルダを使用するIDE(例:
Eclipse
)で開きます。
- Eclipseを開き、「File」メニューから「Import」を選択します。
-
「Maven」フォルダ内の「Existing Maven
Projects」を選択し、「Next」をクリックします。
※日本語だと、「既存Mavenプロジェクト」になっていると思います。 - 先ほど解凍したプロジェクトフォルダを選択し、「Finish」をクリックします。
-
プロジェクトがインポートされ、必要な依存関係がダウンロードされます。
-
プロジェクトのフォルダで右クリックして、「実行」>
「SpringBootアプリケーション」を選択します。
-
ブラウザを開き、「http://localhost:8080/login」にアクセスして以下のような画面が表示できれば成功です。
おわりに
簡単にログイン画面が実装できました。ちなみに、デフォルトで用意されるログインユーザーは以下になります。
UserName:user
Password:アプリケーションを実行した時のログに表示されています。(「Using
generated security password: 」の右側)
また、ログイン後画面は用意していないので、ログインに成功すると「Whitelabel
Error Page」が表示されます。