Anotácie jarného bootovania
• 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