ホームページ  >  記事  >  Java  >  Spring Boot のメインクラスとディレクトリ構造の簡単な紹介 (例付き)

Spring Boot のメインクラスとディレクトリ構造の簡単な紹介 (例付き)

不言
不言オリジナル
2018-09-27 16:44:173411ブラウズ

この記事では、Spring Boot の主要なクラスとディレクトリ構造を簡単に紹介します (例を示します)。必要な方は参考にしていただければ幸いです。

Spring Boot と従来のプロジェクトの最大の違いは、従来のプロジェクトは WAR パッケージにパッケージ化されてサーバーにデプロイされ、追加のサーブレット コンテナーが必要となるのに対し、Spring Boot は jar パッケージに直接パッケージ化して組み込み統合できることです。サーブレット コンテナは、独立したサーブレット コンテナを必要とせずに、コマンド java -jar xx.jar を通じて直接実行できます。

実行可能な jar パッケージにした後、META-INF/MANIFEST.MF ファイルを見てみましょう。

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: admin
Start-Class: cn.javastack.MyApplication
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Version: 2.0.4.RELEASE
Created-By: Apache Maven 3.5.0
Build-Jdk: 1.8.0_151
Main-Class: org.springframework.boot.loader.JarLauncher

この jar パッケージのエントリ クラスである Start-Class があります。このエントリ クラスをプロジェクトの最上位パッケージに配置し、他のすべてのクラスをその下に配置することをお勧めします。サブパッケージのディレクトリ構造は次のとおりです。

cn
 +- javastack
     +- MyApplication.java
     |
     +- customer
     |   +- Customer.java
     |   +- CustomerController.java
     |   +- CustomerService.java
     |   +- CustomerRepository.java
     |
     +- order
         +- Order.java
         +- OrderController.java
         +- OrderService.java
         +- OrderRepository.java

このディレクトリ構造は主流で推奨されるアプローチであり、自動構成、コンポーネント スキャンなどの Spring Boot のさまざまな機能を有効にするために @SpringBootApplication アノテーションがメイン エントリ クラスに追加されます。

package cn.javastack.MyApplication;

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);
    }

}

これをしたくない場合は、@EnableAutoConfiguration および @ComponentScan アノテーションを最大限に活用して動作をカスタマイズすることもできますが、これは推奨されるアプローチではありません。

以上がSpring Boot のメインクラスとディレクトリ構造の簡単な紹介 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。