ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Spring Boot 起動の前提
Spring Boot アプリケーションは 組み込み Tomcat (or Jetty/Undertow) 同梱の Java SE アプリです。WAR をサーバへデプロイする伝統的な方式と違い、単独 Java プロセスとして起動するのが基本。最小構成は以下のようになります:
// src/main/java/com/example/Application.java
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
方法1: Maven で起動(開発時に最も多い)
# プロジェクトルートで実行
mvn spring-boot:run
# プロファイル指定
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# ポート / 起動引数
mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8081 --debug"
# JVM オプション
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xmx1g -Dfile.encoding=UTF-8"
# 環境変数経由
SPRING_PROFILES_ACTIVE=dev mvn spring-boot:run
# wrapper を使う(mvn をローカル版固定)
./mvnw spring-boot:run
方法2: Gradle で起動
# bootRun タスク(spring-boot-gradle-plugin が提供)
gradle bootRun
# プロファイル
gradle bootRun --args='--spring.profiles.active=dev'
# 起動引数
gradle bootRun --args='--server.port=8081'
# wrapper
./gradlew bootRun
# build.gradle で JVM 引数固定したい場合
# bootRun {
# jvmArgs = ['-Xmx2g', '-Dfile.encoding=UTF-8']
# systemProperty 'spring.profiles.active', 'dev'
# }
方法3: jar をビルドして起動(本番)
これが本番デプロイの標準形です:
# パッケージング
mvn clean package -DskipTests
# → target/myapp-1.0.0.jar (Executable Jar)
# Gradle なら
gradle bootJar
# → build/libs/myapp-1.0.0.jar
# 起動
java -jar target/myapp-1.0.0.jar
# プロファイル + ポート
java -jar target/myapp-1.0.0.jar \
--spring.profiles.active=prod \
--server.port=8080
# JVM オプション
java -Xms512m -Xmx2g -XX:+UseG1GC \
-Dfile.encoding=UTF-8 \
-Duser.timezone=Asia/Tokyo \
-jar target/myapp-1.0.0.jar
# 環境変数経由(推奨:12-Factor)
SERVER_PORT=8080 \
SPRING_PROFILES_ACTIVE=prod \
SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/app \
SPRING_DATASOURCE_PASSWORD=secret \
java -jar app.jar
方法4: IDE から起動
IntelliJ IDEA
- 左ツリーで
@SpringBootApplicationの付いたクラスを開く - main メソッド左の 緑▶ をクリック → Run / Debug
- Run Configuration で VM options に
-Xmx2g、Program arguments に--server.port=8081 - Active profiles 欄に
dev
Eclipse / Spring Tool Suite
- 右クリック → Run As → Spring Boot App
- Run Configurations → Spring Boot タブで Profile 設定
VS Code
Extension Pack for Java + Spring Boot Extension Pack を入れると同様にできます。
方法5: Docker / docker-compose
# Dockerfile (multi-stage build)
FROM eclipse-temurin:17-jdk AS build
WORKDIR /app
COPY . .
RUN ./mvnw clean package -DskipTests
FROM eclipse-temurin:17-jre
WORKDIR /app
COPY --from=build /app/target/*.jar app.jar
EXPOSE 8080
ENV JAVA_OPTS="-Xms512m -Xmx2g -XX:+UseContainerSupport"
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar app.jar"]
HEALTHCHECK --interval=30s --timeout=3s --start-period=30s \
CMD curl -f http://localhost:8080/actuator/health || exit 1# docker-compose.yml
services:
app:
build: .
ports:
- "8080:8080"
environment:
SPRING_PROFILES_ACTIVE: prod
SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/app
SPRING_DATASOURCE_USERNAME: app
SPRING_DATASOURCE_PASSWORD: secret
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_DATABASE: app
MYSQL_USER: app
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: rootsecret
よく使う起動オプション
| 目的 | オプション | 例 |
|---|---|---|
| ポート変更 | --server.port | --server.port=8081 |
| プロファイル切替 | --spring.profiles.active | --spring.profiles.active=prod,k8s |
| 外部設定 | --spring.config.location | --spring.config.location=file:./conf/ |
| ログレベル | --logging.level. | --logging.level.org.springframework=DEBUG |
| バナー非表示 | --spring.main.banner-mode | --spring.main.banner-mode=off |
| DB 接続 | --spring.datasource.url | --spring.datasource.url=jdbc:mysql://... |
リモートデバッグ起動
# JDWP を待ち受け(5005 番ポート)
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 \
-jar target/myapp.jar
# Maven
mvn spring-boot:run \
-Dspring-boot.run.jvmArguments="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
# IntelliJ の Remote JVM Debug 設定でホスト localhost, ポート 5005 にアタッチ
本番運用: systemd サービス化
# /etc/systemd/system/myapp.service
[Unit]
Description=My Spring Boot App
After=network.target
[Service]
Type=simple
User=app
Group=app
WorkingDirectory=/opt/myapp
ExecStart=/usr/lib/jvm/java-17-openjdk/bin/java \
-Xms512m -Xmx2g \
-Dfile.encoding=UTF-8 \
-Duser.timezone=Asia/Tokyo \
-jar /opt/myapp/app.jar \
--spring.profiles.active=prod
SuccessExitStatus=143
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now myapp
sudo systemctl status myapp
sudo journalctl -u myapp -f
ヘルスチェック (Spring Boot Actuator)
org.springframework.boot
spring-boot-starter-actuator
# application.yml
management:
endpoints:
web:
exposure:
include: health,info,metrics,prometheus
endpoint:
health:
show-details: when-authorized
health:
db.enabled: true
diskspace.enabled: true# 起動確認
curl http://localhost:8080/actuator/health
# {"status":"UP","components":{"db":{"status":"UP"},"diskSpace":{"status":"UP"}}}
# Prometheus メトリクス
curl http://localhost:8080/actuator/prometheus
FAQ
Q: 起動はするが「Whitelabel Error Page」しか出ない
A: コントローラの @RequestMapping パスが間違っているか、コンポーネントスキャン対象外。Application クラスをパッケージのルートに置いてください。
Q: ポート 8080 が使用中で起動失敗
A: lsof -i:8080(macOS/Linux)or netstat -ano | findstr 8080(Windows)で占有プロセス特定。または --server.port=0 でランダムポート割当。
Q: native image でビルドしたい
A: GraalVM + spring-boot-starter-parent 3.0+ で mvn -Pnative native:compile。起動時間が 50ms 程度になります。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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 と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?