カスタマイズされたスターターの命名規則
artifactId の命名規則に注意してください。Spring 公式スターターは、通常、spring- などの spring-boot-starter-{name} という名前になります。 boot-starter -web では、Spring は非公式スターターの命名が {name}-spring-boot-starter (mybatis-spring-boot-starter など) の形式に従うことを公式に推奨しています。ここで作成されたプロジェクトの artifactId は helloworld-spring-boot-starter です。
スターターの開発ステップ
スターターの作成プロジェクト
#Starter に必要な構成 (プロパティ) クラスを定義します
自動構成クラスを作成します
書き込み spring.factories ファイルは自動構成クラスをロードします
構成プロンプト ファイル spring-configuration-metadata.json を書き込みます (必須ではありません)
特定のプロセス
構成クラス
#@ConfigurationProperties を作成して、構成プレフィックスを定義します
@EnableConfigurationProperties(InfluxdbProperties.class) @ConfigurationProperties(prefix = "spring.influxdb") public class InfluxdbProperties { private String username; public String getDatabase() { return database; } public void setDatabase(String database) { this.database = database; } }
自動構成クラスを作成する
@EnableConfigurationProperties 依存プロパティ クラスを構成する
@Configuration @Order(1) @EnableConfigurationProperties(InfluxdbProperties.class) @ConditionalOnClass(InfluxdbProperties.class) @ConditionalOnProperty(prefix = "spring.influxdb", value = "use-influxdb", havingValue="true" ,matchIfMissing = false) public class InfluxdbAutoConfiguration { private String scanEntitySuffix = "Entity.class"; @Bean @ConditionalOnMissingBean(AiInfluxdbTemplate.class) @Order(Ordered.HIGHEST_PRECEDENCE) public AiInfluxdbTemplate AiInfluxdbTemplate(InfluxdbProperties influxdbProperties){ return new AiInfluxdbTemplate(influxdbProperties); } }
Spring Boot は、デフォルトでスタートアップ クラスと同じレベルのパッケージをスキャンします。スタートアップ クラスと同じです。同じメイン パッケージの下にない場合は、有効になるように spring.factories ファイルを設定する必要があります
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.ai.base.boot.influxdb.InfluxdbAutoConfiguration
以上がSpringBoot でスターターをカスタマイズする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。