0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Spring Boot】Webアプリケーション作成の流れ(開発環境準備編)

Last updated at Posted at 2024-04-20

はじめに

 今回は、Spring Bootを使ってWebアプリケーションを作成する際の開発環境の準備について説明します。

開発環境の準備

Spring Initializr

 Spring Initializrを使って、プロジェクトの雛形を作成します。これはSpring Bootでプロジェクトを始める際、ビルドツールや開発言語、依存性の設定などをGUIで設定できるサービスです。作成されたフォルダをIDEで開けばすぐに開発を始められるので便利ですね。

スクリーンショット (16).png

 ビルドツールはMaven、Javaは最新の22を使用します。Javaのインストールについては割愛します。
 また、今回は簡易的な家計簿アプリを作成します。

 依存性は右上のDependenciesで設定します。(後からpop.xmlを編集すれば追加可能です。)今回は以下の5つを追加するので、軽く説明します。

  • Spring Web
     Webアプリケーションを作成する際に必要となるAPIを利用できます。Tomcatも内包していますので、Webアプリケーションの開発をする際には入れましょう。

  • Thymeleaf
     HTMLファイルをベースとしたテンプレートエンジンで、動的なWebページを効率的に生成することができます。JSPと違って、htmlファイルなのでフロントエンドの開発者で完結するため、チーム開発における利点が大きいです。

  • MySQL Driver
     データベースのドライバーを追加できます。今回は無料で利用できるMySQLを選択しました。他にもSQLServerやOracle、PostgreSQLなど一般的なデータベースのドライバーは選択できるようです。

  • JDBC API
     JDBCは、Javaでデータベースにアクセスするための標準APIです。データベースとの接続、データの操作、トランザクション処理などを行うことができます。

  • Lombok
    LombokはJavaで煩雑なコードを解消してくれるライブラリです。getter/setterなどを省略できるのでコード整理と時短できる点で非常に便利です。今回紹介という形で一応入れましたが、なくても開発自体は可能です。

 以上でGENERATEボタンを押せば、ダウンロードフォルダにzipファイルが作成されます。

IDEで開いてみる

 先ほどDLしたzipファイルを解凍してIDEで開いてみると、プロジェクトのひな形が作成されていることが確認できます。

スクリーンショット (6).png

 IDEは今回、InteliJ IDEAを指定しました。普段はEclipseで開発することが多いのですが、今回は経験のため普段使わないIDEを使用することにしました。

pop.xmlを開いてみると、Dependenciesで設定した項目がdependenciesタグ内に記述されていることがわかります。

pop.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.2.5</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.test</groupId>
	<artifactId>houseHoldAccountBook</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>HouseHoldAccountBook</name>
	<description>家計簿アプリケーションデモ</description>
	<properties>
		<java.version>22</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>com.mysql</groupId>
			<artifactId>mysql-connector-j</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>
							<groupId>org.projectlombok</groupId>
							<artifactId>lombok</artifactId>
						</exclude>
					</excludes>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

実行環境の準備

 プログラムを実行するための実行環境の設定を行います。

 ファイル→プロジェクト構造からSDKと言語レベルを設定します。SDKは22,言語レベルは18までしかなかったので18に設定しました。

スクリーンショット (17).png

 次に、実行環境の設定をします。右上の環境の追加を押すと表示されるダイアログの左側から、アプリケーションを指定します。
 名前には任意の名前、ビルドと実行の下の欄はjavaのバージョンと、mainが記述された実行クラスを指定します。 今回はSpring Initializrを使用しているため、src/main/配下の指定したパッケージ内に、プロジェクト名Application.javaというファイルが作成されていますので、そちらのクラスを指定します。

スクリーンショット (18).png

この状態で一度実行してみると以下のエラーが出ました。

If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

これはデータソースの設定ができていないことを示すメッセージです。src/main/resources/application.propertiesを設定します。この設定は以下の記事を参考にさせていただきました。

まとめ

以上で開発環境の準備が整いました。次回は実際に機能を実装していきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?