اليوم أشارككم قراءة معلومات التكوين المخصصة ؛ في الآونة الأخيرة ، هناك خطط لكتابة المدونات ، وسأقوم بمقالات مكشوفة على Springboot و SpringCloud ، لأنه من المتوقع أن يكون لدى Springboot العديد من الفصول ، لذلك سيتعين على المقالات السحابية الانتظار حتى وقت طويل قبل كتابتها. سبب مشاركة هاتين المادتين هو تسهيل البحث عن المعلومات ولعب دور مناسب للأصدقاء لاستخدامه ؛
• قراءة علامة القيمة (عقدة application.yml يمكن قراءتها مباشرة بشكل افتراضي)
• تطبيق رسم خرائط كيان. العقدة
• عقود الخرائط الكيانية لملفات التكوين المخصصة
• كيان يخطط لقيم العقد متعددة المستويات
قراءة العلامة Value (يمكن قراءة عقدة Application.yml مباشرة بشكل افتراضي)
أولاً ، قم بتخصيص معلومات العقدة التالية في ملف التكوين الافتراضي Application.YML:
Shenniu: الاسم: Shenniu 003
ثم ، يتم الحصول على قيمة السمة مباشرة من خلال علامة Value. من أجل عرض البيانات بشكل أفضل ، يتم تعريف واجهة A /Conf /Name على الواجهة:
Value ("$ {shenniu.name}") اسم السلسلة الخاصة ؛ getMapping ("/conf/defname") السلسلة العامة getDefName () {return this.name ؛ }بعد الجري ، تكون التأثيرات كما يلي:
تطبيق رسم خرائط الكيان. العقدة
لرسم خريطة قيمة ملف التكوين الافتراضي مع فئات الكيان ، تحتاج فقط إلى إضافة بادئة اسم الخاصية. بالطبع ، هذا فقط للخصائص في ملف application.yml الافتراضي:
@configuration@configurationProperties (prefix = "shenniu") الفئة العامة shenniuconf {private string name ؛ السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } عنوان URL الخاص عن عنوان URL ؛ url url geturl () {return url ؛ } public void seturl (url url) {this.url = url ؛ } سلسلة خاصة des ؛ السلسلة العامة getDes () {return des ؛ } public void setDes (String des) {this.des = des ؛ } url url static {private string blogurl ؛ السلسلة العامة getBlogurl () {return blogurl ؛ } public void setBlogurl (string blogurl) {this.blogurl = blogurl ؛ }}}لقد أضفت العديد من الخصائص إلى فئة الكيان ، لراحة الاختبار اللاحق ؛ لتكوين application.yml ، تحتاج فقط إلى إضافة علامة configurationProperties (premix = "shenniu") ، وتتوافق قيمة البادئة مع بادئة سمات ملف التكوين المخصصة ؛ هنا تتم إضافة واجهة /conf /name لإخراج قيمة الكائن المعين:
@autowired shenniuconf shenniuconf ؛ getMapping ("/conf/name") السلسلة العامة getName () {return shenniuconf.getName () ؛ }يتم الحصول على نفس تأثير توضيح Values ، مما يعني أن السمات المخصصة للكيان وملف التكوين قد تمت مطابقتها بنجاح ، ويجب أن تكون أسماء سمات الكيان الرئيسية متسقة مع أسماء عقدة ملفات التكوين ؛
خرائط الكيانات العقد لملفات التكوين المخصصة
من السهل جدًا قراءة قيم الخصائص في Application.yml. في بعض الأحيان ، تحتاج إلى تخصيص ملف التكوين الخاص بك ، مثل my.properties هنا ، ومحتوى الملف كما يلي:
shenniu.des = أحب Mother Mother Mory Shenniu.url.blogurl = http: //www.a.com
لا يزال يتم استخدام كيان التعيين أعلاه ، ولكن يجب إضافة التعليق التوضيحي @propertysource ("classpath: my.properties") إلى الكيان لتمثيل مصدر الملف المخصص ، كما أن البادئة مطلوبة لتحديد بادئة العقدة ؛ نضيف واجهة العرض التالية:
@autowired shenniuconf shenniuconf ؛ getMapping ("/conf/des") السلسلة العامة getDes () {return shenniuconf.getdes () ؛ }كيان يخطط قيمة العقد متعددة المستويات
عادةً ما يكون لعقد التكوين المخصصة علاقات هرمية ، فكيف يمكن لكياناتنا الحصول على قيم السمة على مستويات مختلفة؟ في الواقع ، يجب التعبير عنه فقط من خلال العلاقات الهرمية الطبقية في فئة الكيان ، مثل سمة فئة url unitty في كيان shenniuconf أعلاه ؛
هنا واجهة اختبار:
@autowired shenniuconf shenniuconf ؛ getMapping ("/conf/myconf") public Shenniuconf getBlogurl () {return Shenniuconf ؛ }إذا لم يحدث شيء غير متوقع ، يمكن الحصول على النتائج التالية:
عنوان GIT: https://github.com/shenniuboxing3 حزمة نشر Nuget: https://www.nuget.org/profiles/shenniuboxing3
لخص
ما ورد أعلاه هو طريقة Springboot قراءة عقد ملف التكوين المخصص المقدمة لك من قبل المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، يرجى ترك رسالة لي. سوف يرد المحرر إليك في الوقت المناسب!