Tavaszi bakancs kommentárok
• Tavaszi internetes kommentárok
• Tavaszi indítójegyzetek (aktuális cikk) • Tavaszi ütemezési kommentárok
• Tavaszi adatjegyzetek
• Tavaszi babjegyzetek
1. Áttekintés
A Spring Boot megkönnyítette a Spring konfigurálását az automatikus konfigurációs funkcióval.
Ebben a gyors bemutatóban felfedezzük a org.springframework.boot.autoconfigure és org.springframework.boot.autoconfigure.condition csomagok.
2. @SpringBootApplication
Ezt az annotációt arra használjuk jelölje meg a Spring Boot alkalmazás fő osztályát:
@SpringBootApplication osztály VehicleFactoryApplication {public static void main (String [] args) {SpringApplication.run (VehicleFactoryApplication.class, args); }}
@SpringBootApplication beágyazódik @ Konfiguráció, @EnableAutoConfiguration, és @ComponentScan kommentárok az alapértelmezett attribútumokkal.
3. @EnableAutoConfiguration
@EnableAutoConfiguration, ahogy a neve is mondja, lehetővé teszi az automatikus konfigurálást. Ez azt jelenti A Spring Boot az automatikus konfigurációs babokat keresi osztályterületén, és automatikusan alkalmazza őket.
Ne feledje, hogy ezt a jelölést együtt kell használnunk @ Konfiguráció:
@Configuration @EnableAutoConfiguration class VehicleFactoryConfig {}
4. Automatikus konfigurációs feltételek
Általában, amikor a sajátunkat írjuk egyedi automatikus konfigurációk, azt akarjuk, hogy Tavasz feltételesen használja őket. Ezt az ebben a szakaszban található kommentárokkal érhetjük el.
A feliratokat ebben a szakaszban helyezhetjük el @ Konfiguráció osztályok ill @Bab mód.
A következő szakaszokban csak az alapvető feltételeket mutatjuk be az egyes feltételek mögött. További információkért kérjük, olvassa el ezt a cikket.
4.1. @ConditionalOnClass és @ConditionalOnMissingClass
Ezen feltételek használatával a Spring csak akkor használja a megjelölt automatikus konfigurációs babot, ha az osztály a feljegyzésben szerepel érv van / nincs:
@Configuration @ConditionalOnClass (DataSource.class) osztály MySQLAutoconfiguration {// ...}
4.2. @ConditionalOnBean és @ConditionalOnMissingBean
Akkor használhatjuk ezeket a feliratozásokat, ha feltételeket akarunk meghatározni a egy adott bab jelenléte vagy hiánya:
@Bean @ConditionalOnBean (név = "dataSource") LocalContainerEntityManagerFactoryBean entitásManagerFactory () {// ...}
4.3. @ConditionalOnProperty
Ezzel az annotációval feltételeket tehetünk a tulajdonságok értékei:
@Bean @ConditionalOnProperty (név = "usemysql", havingValue = "helyi") DataSource dataSource () {// ...}
4.4. @ConditionalOnResource
Megtehetjük, hogy Spring csak akkor határoz meg definíciót, ha egy adott erőforrás jelen van:
@ConditionalOnResource (resources = "classpath: mysql.properties") Properties additionalProperties () {// ...}
4.5. @ConditionalOnWebApplication és @ConditionalOnNotWebApplication
Ezekkel a kommentárokkal feltételeket hozhatunk létre az alapján, hogy az aktuális az alkalmazás egy webalkalmazás:
@ConditionalOnWebApplication HealthCheckController healthCheckController () {// ...}
4.6. @ConditionalExpression
Bonyolultabb helyzetekben használhatjuk ezt az annotációt. A tavasz a megjelölt meghatározást használja, amikor a A SpEL kifejezést igaznak értékelik:
@Bean @ConditionalOnExpression ("$ {usemysql} && $ {mysqlserver == 'local'}") DataSource dataSource () {// ...}
4.7. @Feltételes
Még összetettebb körülmények esetén létrehozhatunk egy osztályt, amely értékeli a egyedi feltétel. Azt mondjuk Springnek, hogy használja ezt az egyedi feltételt @Feltételes:
@Conditional (HibernateCondition.class) Properties additionalProperties () {// ...}
5. Következtetés
Ebben a cikkben áttekintést láttunk arról, hogyan lehet finomhangolni az automatikus konfigurációs folyamatot, és hogyan lehet feltételeket biztosítani az egyedi automatikus konfigurációs babokhoz.
Szokás szerint a példák elérhetők a GitHub oldalon.
Következő » Tavaszi ütemezési kommentárok « Előző tavaszi webes kommentárok