このブログでは、マルチ環境設定、Swagger、その他の関連コンテンツを紹介します。
マルチ環境構成分析
実際の開発では、ローカル(ローカル開発環境)、開発(リモート開発環境に展開)、テスト(プレリリース環境)、製品(本番環境)などの一部の環境が含まれる場合があります。明らかに、db / redis / mqなどのさまざまな構成情報に対応するさまざまな環境では、さまざまな環境でも、プログラムはさまざまな処理を行う必要があります。では、springbootプロジェクトはどのようにマルチ環境構成をサポートするのでしょうか。
まず、springbootは実行可能プログラムであり、java -jarによって起動されます。次に、起動時に現在のプロファイル(環境)が何であるかをspringbootに通知する必要があります。
java -jar xxx.jar --spring.profiles.active = test
これにより、-spring.profiles.active = testは、設定したプロファイルがテストであることをspringbootに通知します。
実際の開発で一般的に使用される複数環境の構成方法
マルチ環境構成
--spring.profiles.active = testを設定すると、springbootはapplication-test.propertiesファイルのロードをサポートします。異なる環境の設定ファイルをサブディレクトリごとに保存する場合、現時点では、最初にプロファイルを取得する必要があります。
現在のプロファイルを取得する方法
エントリクラスからプロファイルを取得する
java -jar xxx.jar --spring.profiles.active = test
簡単に言うと、文字列「--spring.profiles.active = test」は、エントリクラスのメインメソッドのString []引数に渡されます。
CommandUtils
argsからプロファイルを取得する方法
引数からトラバースします。プロファイルが見つかった場合は、System.setPropertyを介してシステムキー/値を設定します(ここでのキーは「プロファイル」です)これは、後でアクセスするためにプロファイルを保存するためです。
プロファイルが指定されていない場合、自動的にdevに設定されることに注意してください。
見てみましょうCommandUtils内の特定の分析プロファイル方法を
parseSpringProfile
定義された環境列挙型
この時点で、次のようなプロファイルに従って、プロファイルの下に構成ファイルをロードできます。
システムによって設定されたプロファイル変数を参照してください
上記では、System.setPropertyを設定し、現在の環境情報をプロファイル変数に設定しているため、$ {profile}を直接参照しました。
application.propertiesファイルの内容を見てみましょう。
異なるプロファイルに従って異なる起動ポートを設定する
アプリケーションをテスト環境にデプロイするとします。
プロファイル=テスト
ポート= 7072
検証:
プロファイルを取得でき、特定のディレクトリのプロパティファイルをロードできるか
異なる環境ディレクトリの構成ファイル
結果:
プロフィールの確認を受ける
テスト環境でmongo構成を取得しました
さて、ここで、マルチ環境構成がすべての人に紹介されます〜
よろめく
Swaggerは英語に翻訳されていますが、少し引きずり、クールで、その名前に値するものです。
Swaggerとspringbootの統合は非常に簡単です。これは非常に強力なapiフレームワークです。オンラインドキュメント(java docなど)へのアクセスを提供するだけでなく、オンラインhttpテスト(postmanなど)も提供し、シンプルでハンサムです〜
それを統合するには?