Anotácie jarného bootovania

Tento článok je súčasťou série: • Jarné základné anotácie

• Jarné webové anotácie

• Anotácie jarného zavedenia (aktuálny článok) • Anotácie jarného plánovania

• Jarné anotácie údajov

• Anotácie jarných bôbov

1. Prehľad

Spring Boot uľahčil konfiguráciu Spring pomocou funkcie automatickej konfigurácie.

V tomto rýchlom výučbe preskúmame anotácie z org.springframework.boot.autoconfigure a org.springframework.boot.autoconfigure.condition balíkov.

2. @SpringBootApplication

Túto anotáciu používame pre označte hlavnú triedu aplikácie Spring Boot:

@SpringBootApplication trieda VehicleFactoryApplication {public static void main (String [] args) {SpringApplication.run (VehicleFactoryApplication.class, args); }}

@SpringBootApplication zapuzdruje @ Konfigurácia, @EnableAutoConfigurationa @ComponentScan anotácie s ich predvolenými atribútmi.

3. @EnableAutoConfiguration

@EnableAutoConfiguration, ako hovorí jeho názov, umožňuje automatickú konfiguráciu. Znamená to, že Spring Boot hľadá fazuľa s automatickou konfiguráciou na svojej triednej ceste a automaticky ich použije.

Upozorňujeme, že musíme použiť túto anotáciu s @ Konfigurácia:

@Configuration @EnableAutoConfiguration trieda VehicleFactoryConfig {}

4. Podmienky automatickej konfigurácie

Zvyčajne, keď píšeme svoje vlastné automatické konfigurácie, chceme, aby jar používať ich podmienečne. To môžeme dosiahnuť anotáciami v tejto časti.

Poznámky v tejto časti môžeme umiestniť na @ Konfigurácia triedy príp @Bean metódy.

V ďalších častiach predstavíme iba základnú koncepciu za každou podmienkou. Ďalšie informácie nájdete v tomto článku.

4.1. @ConditionalOnClass a @ConditionalOnMissingClass

Za týchto podmienok použije Spring iba označený fazuľa automatickej konfigurácie, ak je to trieda v anotácii argument je prítomný / chýba:

@Configuration @ConditionalOnClass (DataSource.class) - trieda MySQLAutoconfiguration {// ...}

4.2. @ConditionalOnBean a @ConditionalOnMissingBean

Tieto anotácie môžeme použiť, keď chceme definovať podmienky na základe prítomnosť alebo neprítomnosť konkrétneho fazule:

@Bean @ConditionalOnBean (name = "dataSource") LocalContainerEntityManagerFactoryBean entityManagerFactory () {// ...}

4.3. @ConditionalOnProperty

Touto anotáciou môžeme vytvoriť podmienky na hodnoty vlastností:

@Bean @ConditionalOnProperty (name = "usemysql", havingValue = "local") DataSource dataSource () {// ...}

4.4. @ConditionalOnResource

Môžeme dosiahnuť, aby Spring používal definíciu, iba ak je konkrétna zdroj je k dispozícii:

@ConditionalOnResource (resources = "classpath: mysql.properties") Vlastnosti additionalProperties () {// ...}

4.5. @ConditionalOnWebApplication a @ConditionalOnNotWebApplication

Pomocou týchto anotácií môžeme vytvoriť podmienky založené na tom, či je aktuálny aplikácia je alebo nie je webovou aplikáciou:

@ConditionalOnWebApplication HealthCheckController healthCheckController () {// ...}

4.6. @ConditionalExpression

Túto anotáciu môžeme použiť v zložitejších situáciách. Jar použije vyznačenú definíciu, keď Výraz SpEL sa vyhodnotí ako pravdivý:

@Bean @ConditionalOnExpression ("$ {usemysql} && $ {mysqlserver == 'local'}") DataSource dataSource () {// ...}

4.7. @ Podmienené

Pre ešte zložitejšie podmienky môžeme vytvoriť triedu hodnotiacu zvyk stav. Povieme Springovi, aby použil túto vlastnú podmienku s @ Podmienené:

@Conditional (HibernateCondition.class) Vlastnosti additionalProperties () {// ...}

5. Záver

V tomto článku sme videli prehľad toho, ako môžeme doladiť proces automatickej konfigurácie a poskytnúť podmienky pre vlastné fazule automatickej konfigurácie.

Ako obvykle sú príklady k dispozícii na GitHub.

Ďalšie » Anotácie jarného plánovania « Predchádzajúce jarné webové anotácie

$config[zx-auto] not found$config[zx-overlay] not found