ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Spring Boot Hello World 全体像
Spring Boot は Spring の設定ボイラープレートを排除し、main メソッドだけで Web サーバを起動できるフレームワークです。Tomcat / Jetty / Undertow を組み込みで持ち、war ではなく実行可能 jar として配布できます。
手順 1: Spring Initializr で雛形生成
start.spring.io にアクセスして以下を選択:
| 項目 | 値 |
|---|---|
| Project | Maven |
| Language | Java |
| Spring Boot | 3.2.x (最新安定版) |
| Group | com.example |
| Artifact | demo |
| Java | 17 |
| Dependencies | Spring Web |
「Generate」で zip がダウンロードされます。コマンドラインなら curl で:
curl https://start.spring.io/starter.zip \
-d type=maven-project \
-d language=java \
-d bootVersion=3.2.0 \
-d groupId=com.example \
-d artifactId=demo \
-d javaVersion=17 \
-d dependencies=web \
-o demo.zip
unzip demo.zip -d demo
cd demo
手順 2: pom.xml の確認
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.0</version>
<relativePath/>
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<!-- Web + Embedded Tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</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>
</plugin>
</plugins>
</build>
</project>
手順 3: メインクラス
// src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@SpringBootApplication は次の 3 つを束ねたメタアノテーション:
@Configuration— このクラスを Bean 定義として認識@EnableAutoConfiguration— classpath を見て自動設定(Tomcat, Jackson 等)@ComponentScan— このクラスのパッケージ以下から@Component/@RestControllerを検出
手順 4: Hello World コントローラ
// src/main/java/com/example/demo/HelloController.java
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestParam;
@RestController
public class HelloController {
@GetMapping("/")
public String hello() {
return "Hello, World!";
}
@GetMapping("/greet")
public String greet(@RequestParam(defaultValue = "World") String name) {
return "Hello, " + name + "!";
}
}
@RestController = @Controller + @ResponseBody。戻り値がそのままレスポンスボディ(JSON or 文字列)になります。
手順 5: 起動と動作確認
# Maven で直接起動
mvn spring-boot:run
# jar をビルドして起動
mvn clean package -DskipTests
java -jar target/demo-0.0.1-SNAPSHOT.jar
# 別ターミナルで確認
curl http://localhost:8080/
# → Hello, World!
curl "http://localhost:8080/greet?name=Taro"
# → Hello, Taro!
起動ログには定番のバナーと:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
Tomcat initialized with port 8080 (http)
Starting service [Tomcat]
Started DemoApplication in 1.234 seconds
application.properties で設定
# src/main/resources/application.properties
# ポート変更
server.port=8081
# context path
server.servlet.context-path=/api
# ログレベル
logging.level.root=INFO
logging.level.com.example.demo=DEBUG
# JSON プロパティをスネークケースに
spring.jackson.property-naming-strategy=SNAKE_CASE
JSON を返すエンドポイント
@RestController
@RequestMapping("/api")
public class ApiController {
record Greeting(String message, String name) {}
@GetMapping("/hello")
public Greeting hello(@RequestParam(defaultValue = "World") String name) {
return new Greeting("Hello", name);
}
}
// curl http://localhost:8080/api/hello?name=Taro
// → {"message":"Hello","name":"Taro"}
FAQ
Q: 起動時にポートが使われていると言われる
A: Web server failed to start. Port 8080 was already in use。lsof -i :8080 で占有プロセス確認、または server.port 変更。
Q: Embedded Tomcat を Jetty に変えたい
A: pom.xml で spring-boot-starter-web から tomcat を除外し spring-boot-starter-jetty を追加。
Q: war で配布したい
A: packaging を war に変え、メインクラスを extends SpringBootServletInitializer。ただし通常は実行可能 jar 推奨。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- インストール(eclipseプラグイン)
- クイックスタート
- プロジェクトの作成
- Spring Bootプロジェクトの作成
- Spring Bootプロジェクトの実行
- Spring BootでHello World!
- アノテーション一覧
- DB接続設定からエンティティおよびリポジトリの作成、値の取得まで(JPA編)
- DB接続設定や値の取得(JdbcTemplate編)
- ビューから値をモデルに格納しコントローラーで受け取る方法
- コントローラーにてモデルに値を格納してビューに渡す方法
- テンプレートエンジン
- ModelとModelAndViewの違い
- AOPの使用方法
- classpath: 内部ファイルの読み込み
- file: 外部ファイルの読み込み
- CSVファイルアップロード方法(Ajax)
- CSVファイルダウンロード方法(Ajax)
- Spring Bootプロジェクトのビルドと本番環境へのデプロイ方法(内部tomcat使用)
- Application.propertiesの環境依存設定の分割方法
- JPAにおけるEntityManagerの取得方法
- JPAにおけるjava.sql.Connectionの取得方法
- エラー一覧
- jarの引数を受け取る方法
- Spring BootでGmailからメール送信
- 複数のDBに接続する設定(Spring Boot & JPA編)
- ポート番号の変更
- Basic認証の実装と特定のURLに限定する方法
- Spring SecurityのBasic認証の無効化
- 独自のエラーページを定義する方法
- プロパティファイルの値やjar実行時の引数を取得する方法
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?