ホームページ  >  記事  >  Java  >  SpringBoot公式サイト構築と高速起動の問題を解決する方法

SpringBoot公式サイト構築と高速起動の問題を解決する方法

WBOY
WBOY転載
2023-05-11 09:25:051657ブラウズ

    SpringBoot の概要

    SpringBoot は、Pivo​​tal チームが提供する新しいフレームワークであり、次のように設計されています。 Spring アプリケーションの初期構築および開発プロセスを簡素化するために使用されます。

    誰もが SpringBoot プログラムを経験したことがあるでしょう。Spring# の構築と開発プロセスを簡素化するための SpringBoot の主な機能を振り返ってみましょう。 ## 。

    オリジナル

    Spring 環境構築・開発においては以下の問題があります:

    • 煩雑な設定依存関係

    • 設定が面倒

    SpringBoot このプログラムの利点は、Spring

    の欠点を自動的に設定できることです。
    • 。これは、

      Spring

    • ##開始依存関係における煩雑なプログラム構成の問題を解決するために使用されます。これは、
    • Spring

      プログラムの依存関係設定の煩雑さの問題を解決するために使用されます。

    • 補助機能 (組み込みサーバーなど)。
    • SpringBoot

      プログラムを開始したとき、ローカルの tomcattomcat プラグインも使用せず、組み込みの SpringBoot を使用しました。サーバー内。

    • 次に、
    SpringBootの開始依存関係について話しましょう

    開始依存関係

    Spring Initializr# #を使用します

    # メソッドで作成された Maven プロジェクトの pom.xml 構成ファイルは、以下に示すように、starter を含む多くの依存関係を自動的に生成します

    SpringBoot公式サイト構築と高速起動の問題を解決する方法これらの依存関係は起動時の依存関係です。次に、それらがどのように実装されているかを見てみましょう。

    親プロジェクトの探索

    上記のファイルから、親プロジェクトが指定されていることがわかります。親プロジェクトに入ると、次のように親プロジェクトで別の親プロジェクトが指定されていることがわかります。

    # 次に、親プロジェクトに入ります。このプロジェクトでは、次のような構成コンテンツ構造が表示されます。SpringBoot公式サイト構築と高速起動の問題を解決する方法

    SpringBoot公式サイト構築と高速起動の問題を解決する方法上の図の

    properties

    タグは、各技術ソフトウェアが依存するバージョンを定義します。これにより、異なるソフトウェア テクノロジを使用するときにバージョンの互換性の問題を考慮する必要がなくなります。 properties では、次に示すように servletmysql のバージョンが見つかります。

    SpringBoot公式サイト構築と高速起動の問題を解決する方法

    dependencyManagement

    タグは依存関係のバージョン ロック用ですが、対応する依存関係はインポートされません。プロジェクトでその依存関係が必要な場合は、依存関係の groupidartifactId を導入するだけで済みます。 バージョン を定義する必要はありません。

    build

    タグは、以下に示すように、プラグインのバージョンもロックします。

    SpringBoot公式サイト構築と高速起動の問題を解決する方法親プロジェクトの読み取り後

    後pom.xml

    を構成すると、プロジェクトの依存関係が version に構成されていない理由を理解するのは難しくありません。 依存関係の調査

    次の依存関係は、作成したプロジェクトの
    pom.xml

    で構成されています

    SpringBoot公式サイト構築と高速起動の問題を解決する方法 Enter依存関係を確認し、

    pom.xml

    の依存関係を確認すると、次の依存関係

    SpringBoot公式サイト構築と高速起動の問題を解決する方法 が導入されていることがわかります。これにより、

    spring-web # が導入されます。 ## と

    spring-webmvc は相互に依存しているため、このプロジェクトではこれら 2 つのパッケージに依存せずに springMVC のアノテーションを使用できます。 spring-boot-starter-tomcat

    に依存します。名前から、基本的に

    tomcat が内部的に依存していることが確認できるため、プロジェクトは正常に開始できます。 結論: 将来テクノロジーを使用する必要がある場合は、そのテクノロジーに対応する開始依存関係を導入するだけで済みます

    概要

    スターター

      SpringBoot の共通プロジェクト名
    • 依存関係の構成を減らすために、現在のプロジェクトで使用されるすべてのプロジェクト座標を定義します

    • #parent

    すべての
      SpringBoot
    • プロジェクトによって継承されるプロジェクトは、依存関係を減らすために複数の調整バージョン番号 (依存関係ではなく依存関係管理) を定義します。 競合する目的

    • spring-boot-starter-parent (2.5.0) と spring-boot-starter-parent (2.4.6) の合計は57 座標 別バージョン

    実際の開発

    任意の座標を使用する場合、GAV には G と A のみを記述します。V は SpringBoot によって提供されます

    G:groupid

    ##A:artifactId

    ##V:version

    ##座標エラーが発生した場合はバージョンを再指定してください(注意)バージョンの競合の原因)

    プログラムの起動

    作成された各

    SpringBoot

    プログラムには、次のようなクラスが含まれています。このクラスをブート クラス

    @SpringBootApplication
    public class Springboot01QuickstartApplication {
        
        public static void main(String[] args) {
            SpringApplication.run(Springboot01QuickstartApplication.class, args);
        }
    }
    と呼びます。注:

      SpringBoot
    • プロジェクトを作成するときは、jar パッケージ化メソッドを使用します。

    • SpringBoot
    • ブート クラスはプロジェクトのエントリ ポイントです。

      main メソッドを実行すると、pom.xml# で ## を構成したため、プロジェクト

    • を開始できます。
    spring-boot-starter-web

    はこれに依存しており、この依存関係は以前の学習を通じて tomcat に依存していることを認識しているため、main メソッドの実行では # を使用できます。 ##tomcat プロジェクトを開始します。 Web サーバーの切り替え次に、tomcat

    サーバーを使用してプロジェクトを開始します。

    tomcat

    ## の代わりに

    jetty# を使用できますか?サーバー、jetty maven の説明が進んだところで、maven プライベート サーバーで使用されるサーバーについて説明します。 web サーバーを切り替えるには、デフォルトの tomcat サーバーを除外する必要があります。除外するにはどうすればよいですか? exclusion タグの使用 <pre class="brush:xml;">&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt; &lt;exclusions&gt; &lt;exclusion&gt; &lt;artifactId&gt;spring-boot-starter-tomcat&lt;/artifactId&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;/exclusion&gt; &lt;/exclusions&gt; &lt;/dependency&gt;</pre> さて、ブートストラップ クラスを実行できますか?実行してみてください。出力されるログ情報は次のとおりです。

    プログラムが直接停止しました。なぜですか?

    tomcat

    サーバーが除外されると、プログラム内にサーバーが存在しなくなるためです。したがって、現時点では、

    tomcatSpringBoot公式サイト構築と高速起動の問題を解決する方法 サーバーを除外するだけでなく、

    jetty

    サーバーも導入する必要があります。 pom.xml では、jetty の開始依存関係が <pre class="brush:xml;">&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-jetty&lt;/artifactId&gt; &lt;/dependency&gt;</pre> であるため、ブート クラスを再度実行します。ログ情報で、 が次のとおりであることがわかります。桟橋 サーバー

    概要:

    SpringBoot公式サイト構築と高速起動の問題を解決する方法サーバーを切り替えることで、それを見つけるのは難しくありません。

    SpringBoot## を使用しています。 # テクノロジーを変更する場合、テクノロジーの開始時の依存関係をインポートするだけで済みます。

    spring と springboot の比較
    前の記事で導入ケースを完了すると、この 2 つには大きな違いがあることがわかります。

    座標

    SpringBoot公式サイト構築と高速起動の問題を解決する方法

    Spring プログラム内の座標は自分で記述する必要があり、多数の座標

    • #SpringBoot プログラム内の座標はプロジェクト作成時にチェックして自動生成されます

    • # #web3.0 構成クラス

    Spring

    プログラムはこの構成クラスを独自に記述する必要があります。誰もが以前にこの構成クラスを作成したことがありますが、非常に複雑に感じたはずです

      #SpringBoot
    • プログラムは自分で書く必要はありません

    • 設定クラス
    • Spring/SpringMVC
    プログラムの設定クラスは自分で記述する必要があります。

    SpringBoot プログラムを記述する必要はありません。

    • 注: アイデアに基づく Spring Initializr では、SpringBoot プロジェクトを迅速に構築するためにインターネット接続が必要です。

    公式サイト構築プロジェクト

    SpringBootプロジェクトがエントリーケースですぐに構築できる理由は、Ideaが公式 Web サイトから提供されます。

    SpringBoot
    プロジェクトのコンポーネントをすばやくビルドします。では、公式 Web サイトでプロジェクトを構築するにはどうすればよいでしょうか?次の手順に従ってビルドします。

    SpringBoot 公式 Web サイトにアクセスします。

    SpringBoot 公式 Web サイトにアクセスし、一番下にドラッグして次のコンテンツを表示します。

    次に、

    Spring Initializr をクリックします。

    ハイパーリンクは次のページにジャンプします。

    このページの内容に見覚えはありますか? ? このインターフェイスは、SpringBoot公式サイト構築と高速起動の問題を解決する方法SpringBoot

    プロジェクトを迅速に構築するために

    Idea を使用するものと基本的に同じです。上のページに対応する情報を入力します。

    依存関係の選択

    SpringBoot公式サイト構築と高速起動の問題を解決する方法Select

    Spring Web

    上の図の右上隅に、次のインターフェイスが表示されます<p><img src="https://img.php.cn/upload/article/000/887/227/168376831282036.png" alt="SpringBoot公式サイト構築と高速起動の問題を解決する方法"></p> <h4>生成工程</h4> <p>以上步骤完成后就可以生成 <code>SpringBoot 工程了。在页面的最下方点击 GENERATE CTRL + 回车 按钮生成工程并下载到本地,如下图所示

    SpringBoot公式サイト構築と高速起動の問題を解決する方法

    打开下载好的压缩包可以看到工程结构和使用 Idea 生成的一模一样,如下图

    SpringBoot公式サイト構築と高速起動の問題を解決する方法

    而打开 pom.xml 文件,里面也包含了父工程和 Spring Web 的依赖。

    通过上面官网的操作,我们知道 Idea 中快速构建 SpringBoot 工程其实就是使用的官网的快速构建组件,那以后即使没有 Idea 也可以使用官网的方式构建 SpringBoot 工程。

    SpringBoot工程快速启动

    问题引入

    SpringBoot公式サイト構築と高速起動の問題を解決する方法

    以后我们和前端开发人员协同开发,而前端开发人员需要测试前端程序就需要后端开启服务器,这就受制于后端开发人员。为了摆脱这个受制,前端开发人员尝试着在自己电脑上安装 TomcatIdea ,在自己电脑上启动后端程序,这显然不现实。

    我们后端可以将 SpringBoot 工程打成 jar 包,该 jar 包运行不依赖于 TomcatIdea 这些工具也可以正常运行,只是这个 jar 包在运行过程中连接和我们自己程序相同的 Mysql 数据库即可。这样就可以解决这个问题,如下图

    SpringBoot公式サイト構築と高速起動の問題を解決する方法

    那现在问题是如何打包呢?

    打包

    由于我们在构建 SpringBoot 工程时已经在 pom.xml 中配置了如下插件

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>

    所以我们只需要使用 Mavenpackage 指令打包就会在 target 目录下生成对应的 Jar 包。

    注意:该插件必须配置,不然打好的 jar 包也是有问题的。

    启动

    进入 jar 包所在位置,在 命令提示符 中输入如下命令

    java -jar 包名.jar

    执行上述命令就可以看到 SpringBoot 运行的日志信息

    SpringBoot公式サイト構築と高速起動の問題を解決する方法

    以上がSpringBoot公式サイト構築と高速起動の問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。