Maven、SpringBoot集約プロジェクトの作成方法を学び、SLF4jを使用してログを印刷する(1)

1.プロジェクトの準備-Maven集約プロジェクトを作成するための学習

1.1。集約プロジェクトを作成する

まず、通常のMavenプロジェクトを作成します。

ここに画像の説明を挿入

次に、プロジェクト名と組織IDを入力します。

ここに画像の説明を挿入
プロジェクトが正常に作成されると、pom.xmlがデフォルト開かれ、構成ファイルに追加されます。

<packaging>pom</packaging>

例えば:

ここに画像の説明を挿入

完了後、プロジェクトは親プロジェクトと見なされ、当面は処理できません。次に、親プロジェクトの名前を右クリックして、子プロジェクトを作成します。作成されるメニューコマンドはNew> Moduleです。

ここに画像の説明を挿入

モジュールプロジェクトを作成するときも、Mavenプロジェクトを選択します。詳細構成インターフェースでは、次のものが必要です。

  • 親プロジェクトを決定します。
  • カスタム名。接頭辞として「親プロジェクト名-」を使用することをお勧めします。
  • GroupIdを入力します。
  • 場所を確認してください。

例えば:

ここに画像の説明を挿入
サブモジュールが作成されると、左側のプロジェクト管理パネルにサブモジュールプロジェクトが表示されます。

ここに画像の説明を挿入

また、ノード親プロジェクトのpom.xmlに自動的に追加され<modules>、サブモジュールプロジェクトが構成されています。

ここに画像の説明を挿入

サブモジュールプロジェクトにも独自の独立したpom.xmlがあります。親プロジェクトが構成されていることがわかります。

ここに画像の説明を挿入

次に、同じ手順を使用して、2番目のサブモジュールプロジェクトを作成しますshop-order

ここに画像の説明を挿入

1.2。親プロジェクトの設定により、各サブモジュールプロジェクトは同じ依存関係を使用できます

親プロジェクトのpom.xmlに依存関係と関連構成を追加します。

ここに画像の説明を挿入
その後、各サブモジュールプロジェクトはjunit依存関係を追加する必要はありませんがjunit単体テストに直接使用できます。

ここに画像の説明を挿入

1.3。親プロジェクトで子プロジェクトのオプションの依存関係を構成する

一部の依存関係が使用する必要があるサブモジュールプロジェクトの一部であり、他の一部のサブモジュールプロジェクトを使用する必要がない場合は、全体的な統合管理を容易にするために親プロジェクトのpom.xml<dependencyManagement>ノードを介して構成し、ノードで構成された依存関係を使用する必要があります。 、サブプロジェクトは直接使用できません:

ここに画像の説明を挿入
依存クラスをサブプロジェクトで直接使用しようとすると、エラーが発生します。

ここに画像の説明を挿入

shop-orderサブモジュールプロジェクトでMySQLの依存関係を使用する必要があり、依存関係をサブモジュールプロジェクトのpom.xml追加する必要があると仮定します。ただし、依存関係を追加する場合、バージョンを指定する必要はありません。

ここに画像の説明を挿入
次に、Mavenを更新し(更新ボタンをクリック)、もう一度テストします。

ここに画像の説明を挿入

この時点で、サブプロジェクトはMySQLの依存関係を使用できます。

このアプローチを使用すると、従属バージョンを管理するためにサブプロジェクトを必要とせず、すべてのバージョン管理を親プロジェクトに集中させることができます。もちろん、サブプロジェクトで他のバージョンを使用する必要がある場合は、<version>ノードを追加して指定することもできます。

また、上記の操作手順では、shop-userサブモジュールプロジェクトはMySQLへの依存関係を追加しないため、同じテストを実行するとエラーが必ず発生します。

2.プロジェクトの予備準備-SpringBoot集約プロジェクトを作成するための学習

2.1。親プロジェクトを作成する

まず親プロジェクトを作成し、作成したプロジェクトの最初のパネルの左側でSpring Initializrそれを選択し、右側で使用可能なURLを確認して、[OK]をクリックします。

ここに画像の説明を挿入

2番目のインターフェースで[ Group][ Artifact]入力Maven POM[ Type as]を選択します。他のオプションは変更する必要がなく、直接確認するだけです。

ここに画像の説明を挿入

3番目のインターフェースでは、依存するかどうかを選択できます。この親プロジェクトでは、当面はどの依存関係を使用する必要があるかわからないため、まずオフにして、後で自分で追加できます。

4番目のインターフェースでは、主にプロジェクトファイルが保存されている場所が正しいかどうかを判断するために使用されます。すべてが正しい場合、作成プロセスは完了です!

2.2。サブプロジェクトを作成する

親プロジェクトを右クリックし、New>をModule選択Spring Initializrし、サブモジュールプロジェクトを作成する最初のインターフェイスで選択ます。2番目のインターフェイスで、サブモジュールプロジェクトの情報を確認します。サブモジュールプロジェクトのアーティファクト値が減少している場合注意してください。デフォルトのパッケージ値は、マイナス記号の両側にある名前を直接接続するものです。小数点を追加して区切ることをお勧めします。

ここに画像の説明を挿入

3番目のインターフェースで、必要に応じて依存関係を確認します。このサブプロジェクトをTomcatにデプロイする場合は、Spring Web依存関係を確認できます(作成が成功した後で、各依存関係を追加することもできます)。

ここに画像の説明を挿入

4番目のインターフェースでは、問題がなければ、直接作成が完了します。

作成が完了すると、サブモジュールプロジェクトのpom.xmlファイルで、その親プロジェクトが以前に作成されたブログプロジェクトではなく、SpringBootプロジェクトであることがわかります

ここに画像の説明を挿入

ここで親プロジェクトをブログプロジェクトに変更する必要があります(親プロジェクトのpom.xmlファイルを開いて関連情報を見つけ、それをコピーしてサブモジュールプロジェクトに貼り付けます)。

ここに画像の説明を挿入

同時に、<modules>サブモジュールプロジェクトを構成するためノードが親プロジェクト自動的に追加されることはなく、手動で追加する必要があります(さらに、現時点では親プロジェクトに<dependencies>ノードと<build>ノードは必要なく、自分で削除できます)。

ここに画像の説明を挿入

すべてが完了したら、同じ操作方法を使用して、別のサブモジュールプロジェクトblog-commentを作成します

2つのサブモジュールプロジェクトは直接実行できるため、Spring Web依存関係が追加されると、Tomcatを直接起動でき、デフォルトで8080ポートが占有されます。したがって、競合を回避するために、これらのサブモジュールプロジェクトを明示的に追加する必要があります。ポートが別のポートに変更されました!

3. SLF4jを使用してログを印刷する

SLF4jを使用System.out.println()すると、一部のコンテンツを使用する場合と同様に、出力ログをカスタマイズできます。SLF4jを使用する利点は、実行効率が高く、ログレベルをカスタマイズできるため、ログをフィルターできる(低レベルのログが表示されない)ことです。 )。

SLF4j lombokを使用する場合は、一緒に使用することをお勧めします。lombok依存関係を最初に追加する必要があります。この依存関係は複数のサブモジュールプロジェクトで使用される可能性があるため、この依存関係を親プロジェクトに直接追加できます。

ここに画像の説明を挿入

次に、任意のサブモジュールプロジェクトでSLF4jをテストして使用できます。
ここに画像の説明を挿入

SLF4jでは、低から高のログレベルは次のとおりです。

  • TRACE:追跡情報。
  • デバッグ:デバッグ。
  • INFO:一般的な情報。
  • 警告:警告:一般に、古くなったものとして宣言されたAPIの使用や、ストリームオブジェクトが閉じられていないなど、コードの質が低いことが原因です。
  • エラー:エラー。通常、プロジェクトはクラッシュしません。
  • 致命的:致命的なエラー。プロジェクトがクラッシュします。
  • オフ:すべてのログの出力をオフにします。

ログの出力レベルは、プロジェクトのapplication.propertiesで構成できます

logging.level.cn.tedu.blog.user=trace

上記の構成情報は、構成ログレベル(logging.level)を示し、cn.tedu.blog.userパッケージが設定されています。つまり、このパッケージのクラスと現在のプロジェクト出力ログのすべての子孫の後に、それらがtraceレベルに従って表示さtraceれ、それ以上のレベルのログ表示されます。表示!

上記の構成情報では、パッケージ名の右側にクラス名を追加することもできます。これは、特定のクラスのログ表示レベルのみが構成されていることを示しています。

traceレベルに設定すると、各レベルのログを出力して表示できます。通常、開発段階では、直接traceレベルに設定できます。また、開発時にはlog、使用する方法を区別し、より機密性の高い情報をdebug方法で出力する必要があります、プロジェクトが完了してサーバーにデプロイする必要がある場合は、warn(警告)以上に設定することをお勧めします。そうすると、公式サーバーの操作中に下位レベルのログが表示されなくなります。

log各メソッドを呼び出すとき、出力コンテンツを{}プレースホルダーとして使用でき(大括弧の間にコンテンツはありません)、次に変数パラメーターを使用してプレースホルダーに対応する値を追加します。次に例を示します。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_44273429/article/details/107414745