Bilješke za proljetne čizme
• Proljetne web bilješke
• Bilješke o proljetnom pokretanju (trenutni članak) • Bilješke o rasporedu proljetnih prolaza
• Proljetne bilješke podataka
• Bilješke proljetnog graha
1. Pregled
Spring Boot olakšao je konfiguriranje Springa pomoću značajke automatske konfiguracije.
U ovom brzom vodiču istražit ćemo napomene s org.springframework.boot.autoconfigure i org.springframework.boot.autoconfigure.condition paketi.
2. @SpringBootApplication
Ovu bilješku koristimo za označite glavnu klasu aplikacije Spring Boot:
@SpringBootApplication class VehicleFactoryApplication {public static void main (String [] args) {SpringApplication.run (VehicleFactoryApplication.class, args); }}
@SpringBootApplication enkapsulira @Konfiguracija, @EnableAutoConfiguration, i @ComponentScan napomene sa svojim zadanim atributima.
3. @EnableAutoConfiguration
@EnableAutoConfiguration, kako mu samo ime kaže, omogućuje automatsku konfiguraciju. To znači da Spring Boot traži grah za automatsku konfiguraciju na svojoj stazi razreda i automatski ih primjenjuje.
Imajte na umu da ovu bilješku moramo koristiti s @Konfiguracija:
@Configuration @EnableAutoConfiguration klasa VehicleFactoryConfig {}
4. Uvjeti automatske konfiguracije
Obično, kada napišemo svoj prilagođene automatske konfiguracije, želimo da proljeće upotrijebite ih uvjetno. To možemo postići bilješkama u ovom odjeljku.
Bilješke možemo smjestiti u ovaj odjeljak @Konfiguracija razreda ili @Grah metode.
U sljedećim odjeljcima predstavit ćemo samo osnovni koncept koji stoji iza svakog uvjeta. Dodatne informacije potražite u ovom članku.
4.1. @ConditionalOnClass i @ConditionalOnMissingClass
Koristeći ove uvjete, Spring će koristiti označeni grah za automatsku konfiguraciju samo ako je klasa u bilješci argument je prisutan / odsutan:
@Configuration @ConditionalOnClass (DataSource.class) klasa MySQLAutoconfiguration {// ...}
4.2. @ConditionalOnBean i @ConditionalOnMissingBean
Te bilješke možemo koristiti kada želimo definirati uvjete na temelju prisutnost ili odsutnost određenog graha:
@Bean @ConditionalOnBean (name = "dataSource") LocalContainerEntityManagerFactoryBean entityManagerFactory () {// ...}
4.3. @ConditionalOnProperty
Ovom bilješkom možemo stvoriti uvjete za vrijednosti svojstava:
@Bean @ConditionalOnProperty (name = "usemysql", havingValue = "local") DataSource dataSource () {// ...}
4.4. @ConditionalOnResource
Možemo natjerati Spring da koristi definiciju samo kada je određena resurs je prisutan:
@ConditionalOnResource (resources = "classpath: mysql.properties") Svojstva additionalProperties () {// ...}
4.5. @ConditionalOnWebApplication i @ConditionalOnNotWebApplication
Pomoću ovih bilješki možemo stvoriti uvjete na temelju trenutne aplikacija jest ili nije web aplikacija:
@ConditionalOnWebApplication HealthCheckController healthCheckController () {// ...}
4.6. @ConditionalExpression
Ovu bilješku možemo koristiti u složenijim situacijama. Spring će koristiti označenu definiciju kada Izraz SpEL-a ocjenjuje se istinitim:
@Bean @ConditionalOnExpression ("$ {usemysql} && $ {mysqlserver == 'local'}") DataSource dataSource () {// ...}
4.7. @Uvjetno
Za još složenije uvjete možemo stvoriti razred koji ocjenjuje prilagođeno stanje. Kažemo Springu da koristi ovo prilagođeno stanje @Uvjetno:
@Conditional (HibernateCondition.class) Svojstva additionalProperties () {// ...}
5. Zaključak
U ovom smo članku vidjeli pregled kako možemo fino prilagoditi postupak automatske konfiguracije i pružiti uvjete za prilagođeni grah za automatsku konfiguraciju.
Kao i obično, primjeri su dostupni na GitHubu.
Sljedeći » Bilješke o rasporedu proljeća « Prethodne proljetne web bilješke