Benutzerdefinierte Benennungsregeln für Starter
Beachten Sie die Benennungsregeln für den offiziellen Spring-Starter, der normalerweise Spring-Boot-Starter-{Name} heißt, z. B. Spring-Boot-Starter-Web Die Benennung sollte dem Format von {name}-spring-boot-starter folgen, z. B. mybatis-spring-boot-starter. Die Artefakt-ID des hier erstellten Projekts ist helloworld-spring-boot-starter.
Starter-Schritte entwickeln
Starter-Projekt erstellen automatische Konfigurationsklasse
Schreiben Sie die Datei spring.factories, um die automatische Konfigurationsklasse zu laden
Schreiben Sie die Konfigurationsaufforderungsdatei spring-configuration-metadata.json (nicht erforderlich)
@ConfigurationProperties, um das Konfigurationspräfix zu definieren
havingValue bezieht sich auf das Laden der Konfiguration beim Konfigurieren des Werts
@ConditionalOnNotWebApplication, diese Bean wird nur instanziiert, wenn es sich nicht um eine Webanwendung handelt.
@AutoConfigureAfter: Instanziieren Sie eine Bean, nachdem die automatische Konfiguration abgeschlossen ist.
@AutoConfigureBefore: Instanziieren Sie eine Bean, bevor sie die automatische Konfiguration abschließt.
@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; } }
Spring Boot scannt standardmäßig Pakete auf derselben Ebene wie die Startup-Klasse. Wenn sich unser Starter und unsere Startup-Klasse nicht unter demselben Hauptpaket befinden, müssen wir das konfigurieren spring.factories-Datei wirksam werden
@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); } }
Das obige ist der detaillierte Inhalt vonSo passen Sie Starter in Springboot an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!