הערות על מגפי האביב

מאמר זה הוא חלק מסדרה: • הערות ליבת אביב

• הערות רשת אביבית

• הערות אתחול האביב (מאמר נוכחי) • הערות על תזמון האביב

• הערות על נתוני אביב

• הערות שעועית אביבית

1. סקירה כללית

Spring Boot הפך את תצורת האביב לקלה יותר באמצעות תכונת התצורה האוטומטית שלה.

במדריך מהיר זה, נחקור את ההערות מה- org.springframework.boot.autoconfigure ו org.springframework.boot.autoconfigure.condition חבילות.

2. @ SpringBootApplication

אנו משתמשים בהערה זו כדי סמן את המעמד הראשי של יישום Spring Boot:

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

@ SpringBootApplication עוטף @תְצוּרָה, @EnableAutoConfiguration, ו @ComponentScan ביאורים עם מאפייני ברירת המחדל שלהם.

3. @EnableAutoConfiguration

@EnableAutoConfiguration, כשמו כן הוא, מאפשר תצורה אוטומטית. זה אומר ש Spring Boot מחפש שעועית בתצורה אוטומטית על מסלול הכיתה שלה ומיישם אותם באופן אוטומטי.

שים לב, שעלינו להשתמש בהערה זו עם @תְצוּרָה:

@Configuration @EnableAutoConfiguration class VehicleFactoryConfig {}

4. תנאי תצורה אוטומטית

בדרך כלל, כשאנחנו כותבים את שלנו תצורות אוטומטיות מותאמות אישיתאנחנו רוצים שאביב השתמש בהם באופן מותנה. אנו יכולים להשיג זאת באמצעות ההערות בסעיף זה.

אנו יכולים להציב את ההערות בחלק זה @תְצוּרָה שיעורים או @אפונה שיטות.

בסעיפים הבאים נציג רק את הרעיון הבסיסי שמאחורי כל תנאי. למידע נוסף אנא בקרו במאמר זה.

4.1. @ConditionalOnClass ו @ConditionalOnMissingClass

בשימוש בתנאים אלה, Spring ישתמש בשעועית התצורה האוטומטית המסומנת רק אם הכיתה בהערה טיעון קיים / נעדר:

מחלקה @Configuration @ConditionalOnClass (DataSource.class) MySQLAutoconfiguration {// ...}

4.2. @ConditionalOnBean ו @ConditionalOnMissingBean

אנו יכולים להשתמש בהערות אלה כאשר אנו רוצים להגדיר תנאים על בסיס ה- נוכחות או היעדרות של שעועית ספציפית:

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

4.3. @ConditionalOnProperty

עם הערה זו אנו יכולים לעשות תנאים בנושא ערכי נכסים:

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

4.4. @ConditionalOnResource

אנו יכולים לגרום לאביב להשתמש בהגדרה רק כאשר ספציפי משאב קיים:

@ConditionalOnResource (resources = "classpath: mysql.properties") מאפיינים additionalProperties () {// ...}

4.5. @ תנאי יישום ו @ConditionalOnNotWeb יישום

באמצעות הערות אלה, אנו יכולים ליצור תנאים על סמך הנוכחי יישום הוא או אינו יישום אינטרנט:

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

4.6. @ תנאי ביטוי

אנו יכולים להשתמש בהערה זו במצבים מורכבים יותר. האביב ישתמש בהגדרה המסומנת כאשר ה- ביטוי ה- SpEL מוערך כנכון:

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

4.7. @מותנה

לתנאים מורכבים עוד יותר, אנו יכולים ליצור כיתה המעריכה את מצב מותאם אישית. אנו אומרים לאביב להשתמש במצב מותאם אישית זה עם @מותנה:

@Conditional (HibernateCondition.class) מאפיינים additionalProperties () {// ...}

5. מסקנה

במאמר זה ראינו סקירה כללית כיצד ניתן לכוונן את תהליך התצורה האוטומטית ולספק תנאים לשעועית תצורה אוטומטית מותאמת אישית.

כרגיל, הדוגמאות זמינות ב- GitHub.

הַבָּא » הערות תזמון האביב « הערות אינטרנט קודמות לאביב

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