קובץ מאפייני האביב צנצנת חיצונית

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

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

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

2. שימוש במיקום ברירת המחדל

לפי האמנה, Spring Boot מחפש קובץ תצורה חיצוני - יישום . נכסים אוֹ application.yml - בארבעה מיקומים קבועים מראש בסדר הקדימות הבא:

  • א / config ספריית משנה של הספרייה הנוכחית
  • הספריה הנוכחית
  • מסלול כיתה / config חֲבִילָה
  • שורש השביל

לָכֵן, נכס שהוגדר ב application.properties והונח ב / config ספריית המשנה של הספרייה הנוכחית תועלה. זה יעקוף גם נכסים במקומות אחרים במקרה של התנגשות.

3. שימוש בשורת הפקודה

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

java -jar app.jar --spring.config.location = file: ///Users/home/config/jdbc.properties

אנו יכולים גם לעבור מיקום תיקייה שבו היישום יחפש את הקובץ:

java -jar app.jar --spring.config.name = יישום, jdbc --spring.config.location = file: /// משתמשים / בית / config

וגם גישה חלופית היא הפעלת יישום Spring Boot דרך התוסף Maven. שם נוכל להשתמש ב- פָּרָמֶטֶר:

אביב-אתחול mvn: הפעל -Dspring.config.location = "file: ///Users/home/jdbc.properties"

4. שימוש במשתני סביבה

לחלופין, נניח שלא נוכל לשנות את פקודת ההפעלה. מה שטוב הוא Spring Boot יקרא גם את משתני הסביבה SPRING_CONFIG_NAME ו SPRING_CONFIG_LOCATION:

ייצא SPRING_CONFIG_NAME = יישום, jdbc ייצא SPRING_CONFIG_LOCATION = קובץ: /// משתמשים / בית / תצורה java -jar app.jar

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

5. באופן פרוגרמטי

לחלופין, אם אנו רוצים גישה פרוגרמטית, אנו יכולים לרשום א PropertySourcesPlaceholderConfigurer אפונה:

public PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer () {PropertySourcesPlaceholderConfigurer מאפיינים = חדש PropertySourcesPlaceholderConfigurer (); properties.setLocation (FileSystemResource חדש ("/ משתמשים / בית / conf.properties")); properties.setIgnoreResourceNotFound (false); נכסי החזרה; }

הנה, השתמשנו PropertySourcesPlaceholderConfigurer לטעינת המאפיינים ממיקום מותאם אישית.

6. לא כולל קובץ מצנצנת השומן

תוסף Maven Boot יכלול באופן אוטומטי את כל הקבצים ב- src / main / resources מדריך לחבילת הצנצנת.

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

   src / main / resources true ** / conf.properties 

בדוגמה זו סיננו את ה- נכסים conf הקובץ לא נכלל בצנצנת שהתקבלה.

7. מסקנה

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

לעתים קרובות, עלינו רק למקם את ערכי המאפיינים בקבצים ובמיקומים הנכונים, אך אנו יכולים גם להשתמש ב- Java API של Spring לצורך שליטה רבה יותר.

כמו תמיד, קוד המקור המלא של הדוגמאות זמין באתר GitHub.


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