Spring Bootの起動クラスの命名規則はある?

こんにちは。ゆうせいです。
Spring Bootのアプリケーションを作るとき、起動クラス(@SpringBootApplication が付いたクラス)の命名規則について疑問に思うことはありませんか?

「Spring Bootの起動クラスの名前は何でもいいの?」
「命名規則があるなら、どんなルールがあるの?」

今回は Spring Bootの起動クラスの命名規則 について詳しく解説します!


1. Spring Bootの起動クラスとは?

Spring Bootの起動クラスとは、アプリケーションを起動するためのメインクラスであり、通常 @SpringBootApplication アノテーションが付与されています。

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

@SpringBootApplication
public class MyApplication {

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

この MyApplication クラスが Spring Bootの起動クラス になります。


2. 起動クラスの命名規則はある?

✅ ルールとして決まっている命名規則はない

Spring Boot自体に明確な命名規則はありません
クラス名は自由に付けることができます。

例えば、以下のようなクラス名でも問題なく動作します。

@SpringBootApplication
public class MainApp { ... }

@SpringBootApplication
public class DemoApplication { ... }




✅ 一般的な命名のベストプラクティス

命名規則は決まっていませんが、一般的には 以下のルール に従うことが推奨されています。

1. 「Application」という単語を含める

  • MyApplication
  • DemoApplication
  • EcommerceApplication

理由:
Spring Bootのプロジェクトでは、起動クラスが明確に識別できるようにするため、「Application」を含めるのが一般的です。


2. プロジェクト名を反映させる

  • EcommerceApplication(ECサイトの場合)
  • BlogApplication(ブログアプリの場合)
  • ShopManagementApplication(ショップ管理システムの場合)

理由:
プロジェクトの名前を含めることで、起動クラスが何のアプリケーションを起動するのか分かりやすくなる ためです。


3. 単語の区切りはキャメルケース(PascalCase)にする

@SpringBootApplication
public class OrderManagementApplication { ... }

理由:
Javaのクラス名の標準的な命名規則として、PascalCase(単語の先頭を大文字にするキャメルケース) を使うのが推奨されています。


3. 避けるべき命名パターン

❌ 短すぎる名前

@SpringBootApplication
public class App { ... }

理由:
App だけではアプリケーションの内容が分かりにくい。


❌ 特定の機能名を含める

@SpringBootApplication
public class OrderController { ... }

理由:
起動クラスはアプリ全体のエントリーポイントなので、特定の機能に関連する名前(Controller, Service など)を付けるのは適切ではない。


❌ 小文字のみの名前

@SpringBootApplication
public class myapplication { ... }

理由:
Javaの命名規則では、クラス名は大文字(PascalCase) で始めるのが標準。


4. 結論(ベストな命名)

Application を含める
プロジェクト名を反映させる
PascalCase(キャメルケース)で書く

【良い例】

@SpringBootApplication
public class ShoppingCartApplication { ... }

@SpringBootApplication
public class UserManagementApplication { ... }

@SpringBootApplication
public class MySpringAppApplication { ... }



【悪い例】

@SpringBootApplication
public class App { ... }  // 短すぎる

@SpringBootApplication
public class userapplication { ... }  // 小文字から始めるのはNG

@SpringBootApplication
public class OrderController { ... }  // 起動クラスに機能名を入れるのはNG




5. まとめ

Spring Bootの起動クラスには命名規則はないが、ベストプラクティスがある
「Application」という単語を含めるのが一般的
プロジェクト名を反映させ、分かりやすい名前を付ける
PascalCase(大文字始まりのキャメルケース)で書く

この命名ルールを意識すれば、チーム開発でも分かりやすいSpring Bootアプリが作れます!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。