Tavaszi bakancs kommentárok

Ez a cikk egy sorozat része: • Tavaszi magjegyzetek

• 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