SpringBoot
は、Pivotal チームが提供する新しいフレームワークであり、次のように設計されています。 Spring アプリケーションの初期構築および開発プロセスを簡素化するために使用されます。
誰もが SpringBoot
プログラムを経験したことがあるでしょう。Spring# の構築と開発プロセスを簡素化するための
SpringBoot の主な機能を振り返ってみましょう。 ## 。
Spring 環境構築・開発においては以下の問題があります:
SpringBoot このプログラムの利点は、
Spring
Spring
プログラムの依存関係設定の煩雑さの問題を解決するために使用されます。
プログラムを開始したとき、ローカルの tomcat
も tomcat
プラグインも使用せず、組み込みの SpringBoot
を使用しました。サーバー内。
開始依存関係
# メソッドで作成された Maven
プロジェクトの pom.xml
構成ファイルは、以下に示すように、starter
を含む多くの依存関係を自動的に生成します
これらの依存関係は起動時の依存関係です。次に、それらがどのように実装されているかを見てみましょう。
親プロジェクトの探索
# 次に、親プロジェクトに入ります。このプロジェクトでは、次のような構成コンテンツ構造が表示されます。
上の図の
properties タグは、各技術ソフトウェアが依存するバージョンを定義します。これにより、異なるソフトウェア テクノロジを使用するときにバージョンの互換性の問題を考慮する必要がなくなります。 properties
では、次に示すように servlet
と mysql
のバージョンが見つかります。
タグは依存関係のバージョン ロック用ですが、対応する依存関係はインポートされません。プロジェクトでその依存関係が必要な場合は、依存関係の groupid
と artifactId
を導入するだけで済みます。 バージョン
を定義する必要はありません。
タグは、以下に示すように、プラグインのバージョンもロックします。
親プロジェクトの読み取り後
後pom.xml を構成すると、プロジェクトの依存関係が version
に構成されていない理由を理解するのは難しくありません。 依存関係の調査
で構成されています
Enter依存関係を確認し、
pom.xml の依存関係を確認すると、次の依存関係
が導入されていることがわかります。これにより、
spring-web # が導入されます。 ## とspring-webmvc は相互に依存しているため、このプロジェクトではこれら 2 つのパッケージに依存せずに
springMVC のアノテーションを使用できます。
と
spring-boot-starter-tomcat
tomcat が内部的に依存していることが確認できるため、プロジェクトは正常に開始できます。
結論: 将来テクノロジーを使用する必要がある場合は、そのテクノロジーに対応する開始依存関係を導入するだけで済みます
すべての
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
##座標エラーが発生した場合はバージョンを再指定してください(注意)バージョンの競合の原因)
@SpringBootApplication public class Springboot01QuickstartApplication { public static void main(String[] args) { SpringApplication.run(Springboot01QuickstartApplication.class, args); } }
と呼びます。注:
main メソッドを実行すると、
pom.xml# で ## を構成したため、プロジェクト
はこれに依存しており、この依存関係は以前の学習を通じて tomcat
に依存していることを認識しているため、main
メソッドの実行では # を使用できます。 ##tomcat プロジェクトを開始します。
Web サーバーの切り替え
次に、
tomcat
jetty# を使用できますか?サーバー、jetty
maven
の説明が進んだところで、maven
プライベート サーバーで使用されるサーバーについて説明します。 web
サーバーを切り替えるには、デフォルトの tomcat
サーバーを除外する必要があります。除外するにはどうすればよいですか? exclusion
タグの使用 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:xml;"><dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency></pre><div class="contentsignin">ログイン後にコピー</div></div>
さて、ブートストラップ クラスを実行できますか?実行してみてください。出力されるログ情報は次のとおりです。
tomcat
サーバーが除外されると、プログラム内にサーバーが存在しなくなるためです。したがって、現時点では、tomcat サーバーを除外するだけでなく、
jetty サーバーも導入する必要があります。 pom.xml
では、jetty
の開始依存関係が <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:xml;"><dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency></pre><div class="contentsignin">ログイン後にコピー</div></div>
であるため、ブート クラスを再度実行します。ログ情報で、 が次のとおりであることがわかります。桟橋
サーバー
サーバーを切り替えることで、それを見つけるのは難しくありません。
SpringBoot## を使用しています。 # テクノロジーを変更する場合、テクノロジーの開始時の依存関係をインポートするだけで済みます。座標spring と springboot の比較
前の記事で導入ケースを完了すると、この 2 つには大きな違いがあることがわかります。
Spring プログラム内の座標は自分で記述する必要があり、多数の座標
#SpringBoot プログラム内の座標はプロジェクト作成時にチェックして自動生成されます
プログラムはこの構成クラスを独自に記述する必要があります。誰もが以前にこの構成クラスを作成したことがありますが、非常に複雑に感じたはずです
SpringBoot プログラムを記述する必要はありません。
注: アイデアに基づく Spring Initializr
では、SpringBoot
プロジェクトを迅速に構築するためにインターネット接続が必要です。
プロジェクトのコンポーネントをすばやくビルドします。では、公式 Web サイトでプロジェクトを構築するにはどうすればよいでしょうか?次の手順に従ってビルドします。SpringBoot 公式 Web サイトにアクセスします。SpringBoot
SpringBoot
プロジェクトがエントリーケースですぐに構築できる理由は、Idea
が公式 Web サイトから提供されます。
SpringBoot
公式 Web サイトにアクセスし、一番下にドラッグして次のコンテンツを表示します。
このページの内容に見覚えはありますか? ? このインターフェイスは、SpringBoot
プロジェクトを迅速に構築するためにIdea を使用するものと基本的に同じです。上のページに対応する情報を入力します。
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 + 回车
按钮生成工程并下载到本地,如下图所示
打开下载好的压缩包可以看到工程结构和使用 Idea
生成的一模一样,如下图
而打开 pom.xml
文件,里面也包含了父工程和 Spring Web
的依赖。
通过上面官网的操作,我们知道 Idea
中快速构建 SpringBoot
工程其实就是使用的官网的快速构建组件,那以后即使没有 Idea
也可以使用官网的方式构建 SpringBoot
工程。
以后我们和前端开发人员协同开发,而前端开发人员需要测试前端程序就需要后端开启服务器,这就受制于后端开发人员。为了摆脱这个受制,前端开发人员尝试着在自己电脑上安装 Tomcat
和 Idea
,在自己电脑上启动后端程序,这显然不现实。
我们后端可以将 SpringBoot
工程打成 jar
包,该 jar
包运行不依赖于 Tomcat
和 Idea
这些工具也可以正常运行,只是这个 jar
包在运行过程中连接和我们自己程序相同的 Mysql
数据库即可。这样就可以解决这个问题,如下图
那现在问题是如何打包呢?
由于我们在构建 SpringBoot
工程时已经在 pom.xml
中配置了如下插件
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>
所以我们只需要使用 Maven
的 package
指令打包就会在 target
目录下生成对应的 Jar
包。
注意:该插件必须配置,不然打好的
jar
包也是有问题的。
进入 jar
包所在位置,在 命令提示符
中输入如下命令
java -jar 包名.jar
执行上述命令就可以看到 SpringBoot
运行的日志信息
以上がSpringBoot公式サイト構築と高速起動の問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。