最初のステップ


導入


私は2012年からSpring Frameworkエコシステムを使用しています.オーバータイム多くの新しいモジュールが追加されているフレームワークの採用が増加している.今日は業界で最も人気のあるフレームワークと言える.しかし、春の新しいユーザーのための1つの問題は、春は、フードの下で多くの仕事をするので、それは時々魔法のような感じが一般的な生産システムは、あなたのガイドを開始したガイドから多くの異なるが、それはボックスから出てくるだけでなく、それがどのように動作するか理解するためにさらに重要であることがさらに重要です.私は非常に基本を開始し、より詳細なトピックに移動するが、根底にある詳細に焦点を当てて目的のブログ記事のシリーズを共有することになります.私はこのシリーズは、この美しいフレームワークの初心者のOチップのヒントに役立つことを願っています.
このブログでは、最初の春のブートアプリケーションを作成する方法を参照してください.スプリングブートは春のフレームワークユニバースでもう一つの提供です.それは、今日のマイクロサービス世界で非常に採用されました.
スプリングブートアプリケーションは、いくつかのスプリング固有の依存関係を持つ単純なJavaアプリケーションです.MavenやGradleのような独自の依存関係管理を使用してアプリケーションを作成できます.このブログではMavenを依存マネージャとして使用します.

ファーストステップ


それで、始めましょう.いくつかのオプションがあります.
  • MVNアーキタイプを使用して新しいスプリングブートアプリケーションを作成できます.これは単純なMavenベースのプロジェクトです.
  • 別のオプションと私は非常に頻繁に使用するサイトstart.spring.ioを訪問し、そこからプロジェクトを作成することです.以下は、それが
  • に見える方法のスクリーンショットです

    スクリーンショットには様々なオプションがあります.左側にはMavenやGradleをビルドツールとして使用できます.
    また、我々のアプリケーション言語としてJavaやKotlinやGroovyを選ぶことができます.スプリングブートは現在2つのメインバージョンブランチ2です.Xと今後の3.Xバージョン.
    その後、アプリケーション名とその他の詳細を提供することができます.
    これは、パッケージや戦争としてアプリケーションをパッケージに提供しています.現在、我々はジャーを選びました.あとでアプリケーションをパッケージ化する方法について.
    そして最後にJavaのバージョンを選ぶことができます.このブログのために、私はJava 17に固執します.
    今、依存関係と呼ばれる何かがある右側を見てみましょう.ここでは、最初の魔法は、春のブートアプリケーションで発生するものです.先に述べたように、スプリングブートアプリケーションはSpring Frameworkに基づいています.したがって、アプリケーションを実行するために必要ないくつかの依存関係があります.これらの依存関係を手動で提供することもできます.また、spring-boot-startersと呼ばれるものを使うこともできます.
    Webアプリケーションの作成に使用する最初の依存関係はspring-boot-starter-webです.これにより、埋め込まれたTomcatサーバーを提供し、アプリケーションをWebアプリケーションとして実行することができます.追加後、生成をクリックします.これは、Mavenプロジェクトでzipファイルをダウンロードします.

    ファーストアプリケーション


    生成されたプロジェクト構造は以下のようになります

    典型的なMavenプロジェクト、POM.XMLは以下のようになります

    まず最初に、我々は2つの傾向、spring-boot-starter-webspring-boot-starter-testを見ます.後のテストは単体テストに使用され、JUIT 5をフェッチします.
    ここで重要なことは、依存関係とは別に、そこに継承される親のpomです.親pomはspring-boot-starter-parentである.この親POMにはすべてのビルドプラグインが含まれています.これは、構成プロパティやその他のものに関する多くの構成が含まれます.
    順番にこの親のスターターは、春のブートのための依存性の互換性キュレーションセットを含むspring-boot-dependenciesから継承します.
    あなたのお気に入りのエディタでは、これらの親のPOMのそれぞれの中に行くことができますし、実際に取得何を参照してくださいが、それは絶対にそれらを設定する必要はほとんどの時間として、それぞれのそれらを理解する必要はありません.
    だから今、春のブートプロジェクトを持っています.我々の非常に新しいアプリケーションを実行する方法を見てみましょう.
    アプリケーションを実行する方法はたくさんあります.
    JARファイルを実行する.Spring Bootアプリケーションでは、すべての依存関係を持つ実行可能なUN JARを生成します.IDEを使用する
  • は、すべてのスプリングブートアプリケーションがメインメソッドを持っており、IDEからmainメソッドを実行することができます.
  • また、アプリケーションを格納し、Dockerを即座に実行できます.後でもっと.しかし、springはbuildpackと呼ばれる何かをサポートしており、dockerfileを使わずにもイメージを生成します.
  • それで、最初にオービンジャーを走らせてください.まず、mvn packageを使用してアプリケーションをパッケージ化します.その後はjava -jar <your-jar-file>を実行します.私の場合は以下のようになります

    出力からTomcatサーバーを起動し、ポート8080でリッスンしています.これはデフォルトの設定です.Tomcatサーバーの代わりにJettyサーバーを使用することもできます.また、デフォルトのポートを他のポートに変更することもできます.

    あなたの瓶の中に何がありますか


    作成されたJARファイルを抽出して、内部の内容を確認できます.JARファイルを展開または解凍するには、コマンドjar -xvf <your-jar-file>を使用できます.出力は以下のようになります

    それは重要な最適化の多くを行うことができるので、瓶の中を見ることが重要です.
    今この時点では、実行中のアプリケーションがあります.我々はそれをローカルに実行する方法を知っている.いくつかの簡単な設定を見ましょう.

    デフォルトポートの変更


    8080の既定のポートは、単一のアプリケーションを実行している場合には可能ですが、別のアプリケーションを実行したい場合はどうなりますか?典型的な生産環境では、単一の物理的/仮想サーバーは、複数のアプリケーションをホストすることができます.server.portapplication.propertiesプロパティを使用してポートを変更できます.

    Tomcatの代わりにJettyを使う


    しかし、我々は埋め込まれたサーバーとしてJettyを使うことができます.そのためには、POM Configの下で使用する必要があります.
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jetty</artifactId>
            </dependency>
    
    詳細はhttps://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.webserver .
    それで、それはこのポストからあります.我々は、単純なスプリングブートアプリケーションを作成するために小さなステップを取った.次の投稿では、我々のアプリケーションをパッケージする方法について深く飛び込みます.