תצורת YAML באביב

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

אחת הדרכים להגדרת תצורה של יישומי Spring היא שימוש בקבצי תצורה של YAML.

במאמר מהיר זה, נגדיר פרופילים שונים ליישום Spring Boot פשוט באמצעות YAML.

2. קובץ YAML באביב

פרופילי קפיץ עוזרים לאפשר ליישומי Spring להגדיר מאפיינים שונים עבור סביבות שונות.

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

הנתיב היחסי של application.yml קובץ הוא /myApplication/src/main/resources/application.yml.

יישום האביב לוקח את הפרופיל הראשון כפרופיל ברירת המחדל אלא אם כן הוכרז אחרת ביישום האביב.

קפיץ: config: הפעל: on-profile: שם הבדיקה: test-YAML סביבה: בדיקה מופעלת: שרתי שקר: - www.abc.test.com - www.xyz.test.com --- קפיץ: config: הפעל: on -פרופיל: שם מוצר: סביבת prod-YAML: ייצור מופעל: שרתים אמיתיים: - www.abc.com - www.xyz.com

3. קשירת YAML לשיעור Config

כדי לטעון קבוצה של מאפיינים קשורים מקובץ מאפיינים, ניצור מחלק שעועית:

@Configuration @EnableConfigurationProperties @ConfigurationProperties מחלקה ציבורית YAMLConfig {שם מחרוזת פרטי; סביבת מחרוזת פרטית; מופעל בוליאני פרטי; שרתי רשימה פרטית = ArrayList חדש (); // סטרים וקובעים סטנדרטיים}

ההערה המשמשת כאן היא:

  • @תְצוּרָהמסמן את הכיתה כמקור להגדרות שעועית
  • @ConfigurationProperties קושר ומאמת את התצורות החיצוניות למחלקת תצורה
  • @EnableConfigurationProperties הערה זו משמשת להפעלה @ConfigurationProperties שעועית מסומנת ביישום האביב

4. גישה למאפייני YAML

כדי לגשת למאפייני YAML, אנו יוצרים אובייקט של ה- YAMLConfig מחלקה וגישה למאפיינים באמצעות אובייקט זה.

בקובץ המאפיינים, בואו נקבע את ה- spring.active.profiles משתנה הסביבה ל- לְדַרבֵּן. אם אנחנו לא מגדירים spring.profiles.active, ברירת המחדל היא נכס הפרופילים הראשון שהוגדר בקובץ YAML.

הנתיב היחסי עבור קובץ המאפיינים הוא /myApplication/src/main/resources/application.properties.

spring.profiles.active = prod

בדוגמה זו אנו מציגים את המאפיינים באמצעות CommandLineRunner.

@SpringBootApplication בכיתה ציבורית MyApplication מיישם את CommandLineRunner {@ YAMLConfig myConfig פרטי פרטי; main static public ריק (String [] args) {SpringApplication app = new SpringApplication (MyApplication.class); app.run (); } הפעלה בטלנית ציבורית (String ... args) זורקת את Exception {System.out.println ("באמצעות סביבה:" + myConfig.getEnvironment ()); System.out.println ("שם:" + myConfig.getName ()); System.out.println ("מופעל:" + myConfig.isEnabled ()); System.out.println ("שרתים:" + myConfig.getServers ()); }}

הפלט בשורת הפקודה:

באמצעות סביבה: שם ייצור: מופעל YAML מופעל: שרתים אמיתיים: [www.abc.com, www.xyz.com]

5. עקיפת נכס YAML

באביב אתחול, ניתן לעקוף קבצי YAML על ידי קבצי מאפייני YAML אחרים.

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

  • מאפייני פרופילים הממוקמים מחוץ לצנצנת הארוזה
  • מאפייני פרופילים ארוזים בתוך הצנצנת הארוזה
  • מאפייני יישום המוצבים מחוץ לצנצנת הארוזה
  • מאפייני יישום ארוזים בתוך הצנצנת הארוזה

החל מאתחול האביב 2.4, קובץ חיצוני עוקף תמיד קבצים ארוזים, ללא קשר לשאלה הפרופילית שלו או לא.

6. מסקנה

במאמר מהיר זה, ראינו כיצד להגדיר מאפיינים ביישומי Spring Boot באמצעות YAML. ראינו גם את הכללים המכריעים את הכללים ואחריהם אתחול האביב עבור קבצי YAML.

הקוד למאמר זה זמין באתר GitHub.


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