このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Docker入門】Spring Bootコンテナ①

Docker Composeコマンドを使ったSpring Bootの開発環境コンテナの構築例を紹介します。

「Spring Bootの開発環境コンテナ」は次の2部に分けて解説していきます。

Spring Boot コンテナの構成

以下のように「Spring Boot」コンテナを構成します。

Spring Boot コンテナのデータはホストマシンの「./demo」ディレクトリにバインドマウントさせます。

ここでは、コンテナの作成に必要な「Spring Boot」のプロジェクトを作成していきます。

「Spring Boot」を動作させるには、少々、複雑な手順を踏む必要があります。必要な手順は以下の通りです。

①「Spring Boot」のプロジェクトを作成
②「Spring Boot」のプロジェクト内のプログラムの修正
③「./mvnw spring-boot:run」コマンドの実行

使用するイメージは、openjdkの公式イメージを使用します。

 このイメージを使用することで、わざわざ、Javaの実行環境構築したり、Spring Bootでの開発に使用するSTS(Spring Tool Suite)という統合開発環境をインストールせずに済みます。

Spring Boot(スプリングブート)とは

まず、はじめに Spring Boot(スプリングブート)について簡単に解説します。

 Spring Bootは、Javaアプリケーションを迅速かつ効率的に構築するためのフレームワークです。このフレームワークは、Spring Frameworkのパワーと柔軟性を活かしながら、開発者が設定やセットアップに費やす時間を最小限に抑えます。

 Spring Bootは、自動構成、統合テストサポート、内蔵サーバーの提供など、開発プロセスをシンプル化する多くの機能を提供しています。そのため、開発者はビジネスロジックに集中し、アプリケーションの迅速な開発とデプロイメントを実現できます。

 Spring Bootは、マイクロサービスアーキテクチャやクラウドネイティブアプリケーションの開発に特に適しており、Javaエコシステムで広く採用されています。

URL:https://spring.io/

①Spring Boot のプロジェクトを作成

Spring Boot プロジェクトを、以下のURL先のWebページで事前に作成しておく必要があります。

URL:https://start.spring.io/

下表のように選択して入力していきます。

Spring initializr の設定値

項目
ProjectMaven
LanguageJava
Spring Boot3.2.5(ここでは、「3.2.5」を指定)
Groupcom.example
Artifact、Namedemo(デフォルト)
Package namecom.example.demo
PackagingJar
Java17
Spring initializr の設定値

・「ADD DEPENDENCIES」ボタンをクリックします。

・「Spring Web」をクリックします。

・「GENERATE」をクリックします。

Spring Boot プロジェクトがダウンロードされます。

・ダウンロードしたSpring Boot プロジェクトの demo.zip を解凍します。

②「Spring Boot」のプロジェクト内のプログラムの修正

・「demo」フォルダ内にある以下のファイルを修正します。

demo/src/main/java/com/example/demo/DemoApplication.java

DemoApplication.java

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; 

@SpringBootApplication
@RestController
public class DemoApplication {

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

	@RequestMapping("/")
	public String hello(){
		return "Hello Spring";
	} 

}

 この続きは、「Spring Bootコンテナ②」でSpring Bootコンテナを作成して、Spring Bootアプリケーションを実行していきます。

関連コンテンツ