IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築する方法

DockerDockerBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチュートリアルでは、IntelliJ IDEA 開発環境で Maven を使用して Spring MVC アプリケーションを構築するプロセスを案内します。開発環境のセットアップから Docker を活用したコンテナ化までの必須の手順を説明し、現代的な Web アプリケーションの構築を始めるのに役立てます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/start("Start Container") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/run -.-> lab-411508{{"IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築する方法"}} docker/ls -.-> lab-411508{{"IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築する方法"}} docker/ps -.-> lab-411508{{"IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築する方法"}} docker/start -.-> lab-411508{{"IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築する方法"}} docker/stop -.-> lab-411508{{"IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築する方法"}} docker/create -.-> lab-411508{{"IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築する方法"}} docker/pull -.-> lab-411508{{"IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築する方法"}} docker/build -.-> lab-411508{{"IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築する方法"}} end

Spring MVC の概要

Spring MVC は、Spring エコシステムの一部である人気のある Web アプリケーションフレームワークです。これは、アプリケーションロジックをモデル、ビュー、コントローラの 3 つの相互に関連するコンポーネントに分離するモデル - ビュー - コントローラ (MVC) アーキテクチャパターンに従っています。

Spring MVC とは?

Spring MVC は、Java ベースの Web アプリケーションフレームワークで、Web アプリケーションを構築するための包括的なプログラミングと構成モデルを提供します。リクエスト処理、ビューレンダリング、データバインディングなど、Web 開発に関連する一般的なタスクとパターンを処理することで、Web アプリケーションの開発を簡素化します。

Spring MVC の主要コンポーネント

Spring MVC フレームワークの主要コンポーネントは次のとおりです。

  1. モデル (Model): モデルは、アプリケーションのデータとビジネスロジックを表します。アプリケーションのデータと状態の管理を担当します。
  2. ビュー (View): ビューは、アプリケーションのユーザーインターフェイスのレンダリングを担当します。データをユーザーに提示し、ユーザーのインタラクションを処理します。
  3. コントローラ (Controller): コントローラは、モデルとビューの間の仲介役です。ユーザーのリクエストを受け取り、データを処理し、レンダリングのためにデータをビューに渡します。
graph LR A[Client] --> B[DispatcherServlet] B --> C[HandlerMapping] B --> D[Controller] D --> E[Model] D --> F[View] F --> A[Client]

Spring MVC を使用する利点

Spring MVC を使用する主な利点には、以下のようなものがあります。

  1. 関心事の分離: MVC パターンは、関心事の明確な分離を促進し、コードをより保守しやすく、テストしやすくします。
  2. 柔軟性: Spring MVC は柔軟で構成可能なアーキテクチャを提供し、開発者が特定のニーズに合わせてフレームワークをカスタマイズできるようにします。
  3. スケーラビリティ: Spring MVC はスケーラブルに設計されており、大規模な Web アプリケーションの構築に適しています。
  4. 他の Spring モジュールとの統合: Spring MVC は、Spring Security、Spring Data、Spring Boot などの他の Spring モジュールとシームレスに統合され、包括的で一貫性のある開発体験を提供します。

Spring MVC の基本概念とコンポーネントを理解することで、この強力なフレームワークを使用して堅牢でスケーラブルな Web アプリケーションを構築する能力が向上します。

IntelliJ IDEA で開発環境をセットアップする

IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築するには、開発環境をセットアップする必要があります。以下に手順を示します。

Java Development Kit (JDK) のインストール

まず、Ubuntu 22.04 システムに Java Development Kit (JDK) をインストールする必要があります。ターミナルで以下のコマンドを実行することでインストールできます。

sudo apt update
sudo apt install openjdk-11-jdk

Java のバージョンを確認することで、インストールを検証します。

java -version

IntelliJ IDEA のインストール

次に、Java 開発に人気のある統合開発環境 (IDE) である IntelliJ IDEA をインストールする必要があります。公式ウェブサイトから IntelliJ IDEA の最新バージョンをダウンロードできます。https://www.jetbrains.com/idea/download/

ダウンロードが完了したら、ZIP ファイルを解凍し、以下のコマンドを実行して IDE を起動します。

./idea.sh

Spring MVC プロジェクトの構成

  1. IntelliJ IDEA を開き、ウェルカム画面から「Create New Project」を選択して新しいプロジェクトを作成します。
  2. プロジェクトの種類として「Maven」を選択し、「Next」をクリックします。
  3. プロジェクト名と場所を指定し、「Finish」をクリックします。
  4. プロジェクト構造で、「src/main/java」フォルダを右クリックし、「New」>「Package」を選択します。アプリケーション用のパッケージを作成します。例えば、「com.labex.springmvc」です。
  5. パッケージを右クリックし、「New」>「Java Class」を選択します。Spring MVC コントローラ用の新しいクラスを作成します。例えば、「HelloController.java」です。
package com.labex.springmvc;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("/")
    public String hello(Model model) {
        model.addAttribute("message", "Hello from LabEx Spring MVC!");
        return "hello";
    }
}
  1. 「src/main/resources」ディレクトリの下に「templates」という新しいフォルダを作成します。ここに Spring MVC のビューテンプレートを配置します。
  2. 「templates」フォルダの中に、「hello.html」という新しいファイルを作成し、以下の内容を追加します。
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
  <head>
    <title>Hello LabEx</title>
  </head>
  <body>
    <h1 th:text="${message}"></h1>
  </body>
</html>

これで、IntelliJ IDEA と Maven を使用して Spring MVC アプリケーションの基本的な開発環境がセットアップされました。次のステップである Spring MVC アプリケーションの構築に進むことができます。

Maven で Spring MVC アプリケーションを構築する

これで開発環境がセットアップされたので、Maven を使用して Spring MVC アプリケーションの構築を始めましょう。

Maven プロジェクトの構成

  1. IntelliJ IDEA プロジェクト内の pom.xml ファイルを開きます。
  2. <dependencies> セクション内に以下のコードを追加することで、Spring MVC と Thymeleaf(ビューテンプレートエンジン)に必要な依存関係を追加します。
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.7.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
        <version>2.7.0</version>
    </dependency>
</dependencies>
  1. pom.xml ファイルの <plugins> セクションに Spring Boot Maven プラグインを追加します。
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.7.0</version>
        </plugin>
    </plugins>
</build>

Spring MVC コントローラの実装

HelloController.java ファイルで、受信したリクエストを処理し、適切なビューを返すコントローラロジックを定義できます。

package com.labex.springmvc;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("/")
    public String hello(Model model) {
        model.addAttribute("message", "Hello from LabEx Spring MVC!");
        return "hello";
    }
}

Spring MVC アプリケーションの構成

Spring MVC アプリケーションを構成するには、ルートパッケージ(例:com.labex.springmvc)に SpringMvcApplication.java ファイルを作成し、以下の内容を記述します。

package com.labex.springmvc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringMvcApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringMvcApplication.class, args);
    }
}

Spring MVC アプリケーションの実行

  1. IntelliJ IDEA のターミナルで、プロジェクトディレクトリに移動し、以下のコマンドを実行してアプリケーションをビルドして起動します。
mvn spring-boot:run
  1. アプリケーションが起動したら、ウェブブラウザを開き、http://localhost:8080/ にアクセスします。ページに「Hello from LabEx Spring MVC!」というメッセージが表示されるはずです。

おめでとうございます!IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを正常に構築しました。これから、追加のコントローラ、サービス、ビューなどの機能を追加して、アプリケーションをさらに拡張することができます。

まとめ

このチュートリアルでは、IntelliJ IDEA で Maven を使用して Spring MVC アプリケーションを構築する方法と、Docker を使用してコンテナ化する方法を学びました。説明した手順に従うことで、開発環境をセットアップし、Spring MVC プロジェクトを作成し、アプリケーションを Docker コンテナとしてパッケージ化してデプロイできるようになるはずです。この知識は、Spring MVC と Docker を使って Web アプリケーションを引き続き探索し構築する際に役立つでしょう。