Spring Boot 構成ファイルの構成により、構成プロセッサーに自動的にプロンプトが表示されます

効果

Idea などの開発ツールを使用する場合、構成ファイルにプレフィックスを入力すると、対応する完了プロンプトが表示され、開発者は対応するプロパティを簡単に構成できます。効果のスクリーンショットは次のとおりです。

ここに画像の説明を挿入します
ここに画像の説明を挿入します

メタデータの説明

spring-configuration-metadata.jsonこれらのヒントは、ソース データ ファイルおよびSpring 自動構成仕様のコンテンツの定義から得られますadditional-spring-configuration-metadata.json仕様が固定されていると、開発ツールは対応する json ソース データ ファイルから対応する情報完了プロンプトを読み込むことができるため、開発プロセスがより使いやすく便利になります。

spring-configuration-metadata.jsonプラグインによってspring-boot-configuration-processor自動的に生成されるため、additional-spring-configuration-metadata.json追加の構成には手動のメンテナンスが必要です。この追加の構成ファイルは、コンパイルのたびに自動生成が上書きされるために作成されます。自動生成は、プラグインによってロードされて自動生成される@ConfigurationProperties前に、定義された Java クラスと結合され、アノテーションで変更される必要がありますspring-boot-configuration-processorspring-configuration-metadata.json

添付ファイル: SpringBoot 自動構成に関するその他のいくつかの主要ファイル
構成ファイル:spring.factories
構成ファイル:spring-configuration-metadata.jsonおよびadditional-spring-configuration-metadata.json
構成ファイル:spring-autoconfigure-metadata.properties
プラグイン:spring-boot-configuration-processor
プラグイン: spring-boot-autoconfigure-processor
DeferredImportSelector セレクター:AutoConfigurationImportSelector

開発と実装

上記の効果を実現するための具体的なコード例を次に示します。

1. Java 構成クラスを定義する

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 测试配置类
 * 
 * @author shanhy
 */
@Data
@Component
@ConfigurationProperties(prefix = "shanhy.test")
public class TestProperties {
    
    
    
    /**
     * 唯一ID
     */
    private int id = 100;
    
    /**
     * 名称
     */
    private String name;
    
    /**
     * 标志位
     */
    private boolean flag = true;
    
}

属性上の Java アノテーションは最終的にメタデータ ファイルに自動生成されるためspring-configuration-metadata.json、アノテーションの記述は厳密に追加してください。

2. プラグインの依存関係を追加する

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

このプラグインは、メタデータ ファイルのコンテンツを自動的に生成します。プラグインを使用してメタデータを自動的に生成する必要はないが、独自に定義した属性のメタデータを構成したい場合は、自分でメンテナンスできますresources/META-INF/additional-spring-configuration-metadata.json

3. 結果をコンパイルして検証する

Mavan を使用してメタデータ ファイルをコンパイルおよび生成し、プロパティで結果を確認します。

追加されたカスタム メタデータを確認するために、resources/META-INF/additional-spring-configuration-metadata.jsonファイルにカスタム構成を追加しました。

{
    
    
  "properties": [
    {
    
    
      "name": "shanhy.test.additional-content",
      "type": "java.lang.Boolean",
      "description": "附加内容"
    }
  ]
}

ここに画像の説明を挿入します
ここに画像の説明を挿入します


(終わり)

おすすめ

転載: blog.csdn.net/catoop/article/details/129937681