springbootプロジェクトの簡単な紹介、起動、および展開

springbootプロジェクトの紹介、起動、デプロイ

スプリングブーツ入門

springbootはspringに基づいて開発されていることは誰もが知っていますが、springbootは実際にはSpring機能の拡張ではなく、Springをすばやく使用する方法またはツールを提供することを知っておく必要があります。

Springbootは多数のサードパーティライブラリを収集します。SpringBootアプリケーションのこれらのサードパーティライブラリは、構成なしでほとんどそのまま使用できます。ほとんどのSpring Bootアプリケーションは、ごく少量の構成コード(Javaベースの構成)のみを必要とします。 )その人はビジネスロジックにもっと集中することができます。
-メリット
-1。スプリングブーツ自体はスプリングの誕生に基づいており、スプリングが機能を発揮する限り、スプリングブーツはパワフルに発揮できると言えます。
– 2.プロジェクトのビルドに便利。SpringFrameworkを使用してプロジェクトをビルドする場合、多くの構成ファイルとさまざまなアセンブリBeanが避けられないことは誰もが知っています。現在、springbootはほとんど構成ファイルを実装していません。javaconfigメソッドを採用しています。構成には、アノテーション設定を採用し、オリジナルの多数の設定ファイルを簡素化し、作業効率を大幅に向上させます。@Configurationと@Beanの2つのアノテーションを使用して構成ファイルを完成させます。
ここに画像の説明を挿入
– 3. Maven構成の簡素化。Spring4.0の登場によりxml構成は達成されなかったようですが、数百行に達するまで、多くのMaven構成が必要です。現在、springbootは多数のサードパーティライブラリを収集しています。依存関係の構成は単純なMaven構成と統合されています
ここに画像の説明を挿入
。springbootプロジェクトには、作成時にいくつかのMaven構成が付属します。これらの構成には、すでに多数の依存関係が統合されています。開発者は、時間と労力を要する依存関係の構成を追加する必要がなくなりました。 。
– 4デプロイメントの簡素化
。SpringbootはSpring-boot-starter-webにあるtomcatを埋め込む
ここに画像の説明を挿入
ため、開発プロセス中にtomcatサーバーは不要であり、jarが終了した直後にspringbootプロジェクトを開始できます。ローカルTomcat。つまり、springbootプロジェクトjarを取得した後、jdkのみのマシンで起動できます。

スプリングブートスタート

前述のように、springbootプロジェクトにはtomcatが付属しているため、プロジェクトの起動とデプロイに追加のtomcatサーバーは必要ありません。ここで重要なのは、springbootプロジェクトにスタートアップクラスがあることです。これがspringbootプロジェクトの入り口です。
ここに画像の説明を挿入
上記のことができます。スタートアップクラスにキーアノテーション@SpringBootApplicationが必要であることを確認し、変更されたアノテーションの背後にあるコンテンツを確認します。

@Target(ElementType.TYPE)            // 注解的适用范围,其中TYPE用于描述类、接口(包括包注解类型)或enum声明
@Retention(RetentionPolicy.RUNTIME)  // 注解的生命周期,保留到class文件中(三个生命周期)
@Documented                          // 表明这个注解应该被javadoc记录
@Inherited                           // 子类可以继承该注解
@SpringBootConfiguration             // 继承了Configuration,表示当前是注解类
@EnableAutoConfiguration             // 开启springboot的注解功能,springboot的四大神器之一,其借助@import的帮助
@ComponentScan(excludeFilters = {    // 扫描路径设置(具体使用待确认)
        @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
...
}

@SpringBootApplicationが複数のアノテーションを使用していることが
わかります。その中で最も重要なのは、@ Configurationが構成にjavaconfigを使用していることです。SpringIocコンテナー@EnableAutoConfigurationの構成クラスの
方が重要です。ここでは説明しません。
@ ComponentScanスキャンアノテーション、自動スキャンそして、条件を満たすコンポーネント
ロードします。実際には、@ SpringBootApplicationを使用することも、同じ3つのアノテーションを使用することもできます。
詳細な紹介https://www.cnblogs.com/shamo89/p/8184960.html

これらを使用すると、springbootプロジェクトを開始するときに、スタートアップクラスのエントリから入力し、@ SpringBootApplicationアノテーションの後にいくつかのjavaconfig構成を自動的にスキャンしてロードし、組み込みのTomcatを起動してプロジェクトを実行することを簡単に理解できます。

springbootプロジェクトのデプロイ

Webプロジェクトをデプロイするために使用したときは、基本的にwarパッケージをラップし、それをtomcatwebappの下に配置してtomcatを起動しました。この方法は、時間と労力がかかるだけでなく、プロジェクトがデプロイされるサーバーには、事前にデプロイ可能な環境が必要です。Tomcat構成ファイルを手動で変更する必要がある場合があります。
Springbootは、プロジェクトの展開を大幅に簡素化します。
プロジェクトをjarパッケージに入力するだけで、jdkのみが必要なサーバーにプロジェクトを配置できます。java-jar***でプロジェクトを開始できます。

質問は、以前は戦争パッケージの形でWebプロジェクトをデプロイしていたのですが、なぜSpringbootプロジェクトをJavaアプリケーションのようにデプロイできるのでしょうか。

前述のように、springbootにはtomcatが組み込まれているため、プロジェクトの開始時にtomcatが自動的に開始されますが、jarファイルにはメインクラス(main)が必要であることは誰もが知っています。
そうです、これがスタートアップです。クラスはメインクラスには、スタートアップクラスの構成が必ずあります。これはmaven-shade-pluginです。移動して見つけてください。
ここに画像の説明を挿入
ここに画像の説明を挿入
案の定、問題は解決しました。Springbootはmavenプラグインを介してスタートアップクラスを構成するため、java -jarの形式でプロジェクトを開始できます。スタートアップクラスが開始されると、ロード構成をスキャンし、組み込みのTomcatを起動します。最後に、プロジェクトの起動デプロイメントが完了します。

上記はスプリングブーツの簡単な理解です。何か問題がある場合は、相手が私を修正する必要があります。

おすすめ

転載: blog.csdn.net/qq_31142237/article/details/89326765