שימוש באביב @ ערך עם ברירות מחדל

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

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

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

2. ברירות מחדל של מחרוזות

בואו נסתכל על התחביר הבסיסי להגדרת ערך ברירת מחדל עבור a חוּט תכונה:

@Value ("$ {some.key: ערך ברירת המחדל שלי}") מחרוזת מחרוזת פרטיתWithDefaultValue; 

אם some.key לא ניתן לפתור, אם כן מחרוזתithDefaultValue יוגדר לערך ברירת המחדל של “ערך ברירת המחדל שלי ”.

באופן דומה, אנו יכולים להגדיר אורך אפס חוּט כערך ברירת המחדל:

@Value ("$ {some.key:})" string String stringWithBlankDefaultValue;

3. פרימיטיבים

להגדרת ערך ברירת מחדל לסוגים פרימיטיביים כגון בוליאני ו int, אנו משתמשים בערך המילולי:

@Value ("$ {some.key: true}") בוליאני פרטי BooleanWithDefaultValue;
@Value ("$ {some.key: 42}") int intWithDefaultValue פרטי; 

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

4. מערכים

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

@Value ("$ {some.key: one, two, three}") מחרוזת פרטית [] stringArrayWithDefaults; @Value ("$ {some.key: 1,2,3}") int [] intArrayWithDefaults פרטי;

בדוגמה הראשונה לעיל, הערכים "אחד", “שתיים", ו"שְׁלוֹשָׁה" מוזרקים כברירת מחדל stringArrayWithDefaults.

בדוגמה השנייה, הערכים 1, 2 ו- 3 מוזרקים כברירת מחדל intArrayWithDefaults.

5. שימוש ב- SpEL

אנו יכולים גם להשתמש בשפת ביטוי האביב (SpEL) כדי לציין ביטוי וברירת מחדל.

בדוגמה שלהלן אנו מצפים some.system.key להיות מוגדר כמאפיין מערכת, ואם הוא לא מוגדר, אנו רוצים להשתמש "ערך ברירת המחדל שלי למאפיין המערכת כברירת מחדל:

@Value ("# {systemProperties ['some.key']?: 'ערך ברירת המחדל של מאפיין המערכת שלי'}") פרטי מחרוזת spelWithDefaultValue;

6. מסקנה

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

כרגיל, כל דגימות הקוד המשמשות במאמר זה נמצאות בפרויקט GitHub.


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