ホームページ >Java >&#&チュートリアル >Java アーキテクチャの基礎: Spring Cloud YAML とプロパティ設定の詳細な説明
目次
Spring Cloud YAML設定の詳細1
プロパティの詳細2
カスタムパラメータ2
パラメータリファレンス3
乱数4
外部パラメータ4
複数の環境設定5
YAML6
やML には次の基本ルールがあります。 6
YAML を使用してマルチ環境構成を完了します。 7
前の例では、プロジェクトをパーソナライズするために src/main/resources/application.properties を使用しました。 明らかに、この構成方法は単純です。は私たちがよく使うものです
しかし、複雑なビジネスニーズに応えて、マルチ環境やプログラムによる構成には対応できません
このため、Spring Cloud は、機能を強化し、開発を簡素化するための YAML 構成メソッドを提供します。設定内容を簡単かつ明確に区別できます。
プロパティの詳細な説明
カスタムパラメータ
カスタムパラメータを使用すると、プログラムで使用するために構成ファイルにいくつかのパラメータを定義できます
ここではSpringアノテーションを使用してこの機能を実装します
まず最初に、エンティティクラス
@Component
public class Dalao {
@Value("${dalao.name}")
private String name;
@Value("${dalao.name} ") yanzhi}")
private String yanzhi;
…..getter setter 省略
@Component 注:
通常の pojo を Spring コンテナーにインスタンス化します。これは、
application.propertie を変更し、次の設定パラメータを追加します
dalao.name=mashibing
dalao.yanzhi=100
カスタムパラメータを使用します
Spring 管理オブジェクト
Spring にオブジェクトを注入させます。ここで注意する必要があるのは、新しいオブジェクトが Spring コンテナによって管理されていない場合、属性値は自動的に注入されないということです
@Autowired
private ダラオ dalao;
テスト印刷
System.out.println(ToStringBuilder.reflectionToString(dalao));
System.out.println(ToStringBuilder.reflectionToString(new ()) );
ToString Builder
ToStringBuilder は、オブジェクトの文字列への変換を完了するためにここで使用されます。このオブジェクトを使用するには、Spring のツールキット commons-lang3
Pom
依存関係>
パラメータ参照application.propertieのパラメータ値は相互に参照できます前の設定を変更しましょう
dalao.name=mashibing
dalao.yanzhi=100
dalao.desc =${dalao.name} は良い先生です、ビング・ブ・シー・イン・ウェイ ${dalao.name} de yan zhi = ${dalao.yanzhi}
エンティティ @Value("${dalao) にを追加します.desc}")
privateString desc;
出力結果
乱数
いくつかの特別なニーズがあります。設定された属性値を固定値にする必要はありません。サーバーのランダムなポート番号、特定の番号などを使用して、構成内で ${radom} を使用してランダムな int、long、または string を生成できます${random.int()} = random int
${random long} = ランダムなlong
${random.int(50)} = 50以内の乱数
${random.int(50,100)} = 50~100の整数の乱数
${random.value }= ランダムな文字列
設定ファイルで使用dalao.xiaodi.zhangyang.yanzhi=${random.int(50,100)}
dalao.xiaodi.zhangyang.xinqing=${random.value}
外部参加
マイクロサービス アーキテクチャでは、自動運用およびメンテナンスのデプロイ ツールがよく使用されます。これらのツールを使用してサービスを開始しますSpring ブート プログラムは通常、起動および実行に java -jar を使用します
サービスのポート番号またはその他の値には、サービスの開始時に決定する必要がありますが、設定にハードウェア的に書き込まれたり、ランダムに使用されたりすると、明らかにニーズを満たせません
カスタムパラメータを置き換えるために外部パラメータを使用できます
たとえば、サービスポートは次のとおりです。一時的に決定:
java -jarデモ-0.0.1-SNAPSHOT.jar --server.port=60
同時に外観が変更されます:java -jarデモ-0.0.1-SNAPSHOT。 jar --server.port=60 --dalao.xiaodi.zhangyang.yanzhi外部構成を使用すると、サービスの開始時にサービスポート、データベース接続パスワード、カスタム属性値などを変更できます
マルチ環境構成実際の開発では、運用と保守の展開を自動化することはできますが、コードのセットを開発、テスト、運用などの複数のサーバーに同時に展開する場合があり、各環境でのデータベース パスワードなどの個別の構成は避けられません。このメソッドは、サービスの開始時に外部パラメータを使用して属性値を一時的に置き換えますが、これは運用保守コストの増加も意味します。 複数の構成セットを使用することで、環境ごとに異なる構成プロパティを変更することを回避できます使用方法:
まず複数の構成ファイルのセットを作成します命名規則は次のとおりです: Application-*,propertiesApplication- dev,properties=開発環境Application-test,properties=テスト環境Application-prod,properties=生成環境次に、一連の設定が有効になるapplication.propertiesのスイッチを設定します spring.profilesを使用します。 active=dev java –jar を使用してサービスを開始する場合、外部パラメーターを使用して構成全体を変更できますjava -jar Demon-0.0.1-SNAPSHOT.jar -- spring.profiles.active=test
YAML
YAML は、「YAML Ain't Markup Language YAML はマークアップ言語ではありません」の外国語の略語ですただし、この言語がマークアップ言語に焦点を当てているのではなく、データ中心であることを強調するには、Return to the元の単語を削除し、名前を変更します。コンピュータが認識できる直感的なデータシリアル化形式であり、可読性が高く、スクリプト言語との対話が容易であり、データシーケンスを表現するために使用されます。 これは、標準ユニバーサル マークアップ言語のサブセットである XML に似たデータ記述言語であり、その構文は XML よりもはるかに単純です。YAML には次の基本ルールがあります:
1. 大文字と小文字を区別します2. 階層関係を示すためにインデントを使用します3. タブインデントの使用は禁止されています。使用できるのはスペースバーのみです4.インデントの長さの制限はありません。要素が整列している限り、これらの要素は同じレベルに属していることを意味します。 5. コメントを示すには # を使用します6. 文字列は引用符なしでマークできますYAML を使用して複数の環境設定を完了します
方法 1:
複数のプロパティ ファイルを含む単一の yml ファイルを使用します方法 2:
単一の yml ファイルですべての変数を構成する 関連する推奨事項:Spring Cloud チュートリアルの構成変更構成方法の紹介
Spring、Spring MVC、MyBatis 統合ファイル構成の詳細な説明
以上がJava アーキテクチャの基礎: Spring Cloud YAML とプロパティ設定の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。