
「Spring Boot、マジ卍!JavaのWeb開発がこんなに楽になるなんて、感動しかない!」
Spring Bootとは?Java Webアプリ開発を爆速化!
Spring Bootは、JavaでのWebアプリケーション開発を劇的に効率化するフレームワークです。設定の自動化や組み込みサーバーなど、すぐに開発を始められる便利な機能が満載。この記事では、Spring Bootを使って簡単なWebアプリケーションを開発する手順をわかりやすく解説します。
従来のJava Webアプリケーション開発では、XMLファイルでの煩雑な設定や、TomcatなどのWebサーバーの準備が必要でした。Spring Bootは、これらの面倒な作業を肩代わりし、開発者はビジネスロジックの実装に集中できます。
Spring Initializrを使うことで、プロジェクトの雛形を簡単に作成できます。必要な依存関係を選択するだけで、すぐに開発を始められる状態になります。
開発環境の準備:Spring Initializrでプロジェクト作成
まずは、Spring Initializr(https://start.spring.io/)にアクセスします。
以下の項目を入力・選択します。
* Project: Gradle – Groovy
* Language: Java
* Spring Boot: (推奨されている最新のバージョン)
* Group: com.example
* Artifact: demo
* Packaging: Jar
* Java: 17 (または11)
* Dependencies: Spring Web
「GENERATE」ボタンをクリックして、プロジェクトのZIPファイルをダウンロードします。
ダウンロードしたZIPファイルを解凍し、IntelliJ IDEAやEclipseなどのIDEで開きます。
簡単なWebアプリ作成:Hello Worldを表示
src/main/java/com/example/demoの中に、HelloController.java
という名前の新しいファイルを作成し、以下のコードを記述します。
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/")
public String hello() {
return "Hello, World!";
}
}
このコードは、ルートURL(/)にアクセスした際に「Hello, World!」という文字列を返すシンプルなAPIエンドポイントを定義しています。
IDEからアプリケーションを実行します。Gradleを使用している場合は、./gradlew bootRun
コマンドを実行します。
ブラウザでhttp://localhost:8080/
にアクセスすると、「Hello, World!」と表示されるはずです。
ThymeleafでHTMLを表示:動的なWebページ
Thymeleafは、Spring Bootでよく使われるテンプレートエンジンです。これを使うことで、動的なHTMLページを簡単に作成できます。
まず、pom.xml
(Mavenの場合) または build.gradle
(Gradleの場合) にThymeleafの依存関係を追加します。
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
}
次に、src/main/resources/templates
ディレクトリにhello.html
という名前のHTMLファイルを作成し、以下のコードを記述します。
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'Hello, ' + ${name} + '!'"></p>
</body>
</html>
HelloController.java
を以下のように修正します。
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello(@RequestParam(name="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "hello";
}
}
ブラウザでhttp://localhost:8080/hello?name=YourName
にアクセスすると、「Hello, YourName!」と表示されます。name
パラメータを指定しない場合は、「Hello, World!」と表示されます。
参考リンク
まとめ
Spring Bootを使うことで、JavaでのWebアプリケーション開発が非常に簡単になることを実感できたかと思います。Spring Initializrでプロジェクトを生成し、簡単なコントローラーを作成するだけで、Webアプリケーションを起動できます。
さらにThymeleafなどのテンプレートエンジンを使うことで、動的なWebページも簡単に作成できます。Spring Bootの学習を進めて、より高度なWebアプリケーション開発に挑戦してみてください。