この記事では、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 サイトの他の関連記事を参照してください。