يقرأ Springboot Project ملف تكوين Application.Properties افتراضيًا. إذا كنت بحاجة إلى تخصيص ملفات الخصائص ، وكيفية قراءتها؟
1. إنشاء ملف .properties جديد في المورد
قم بإنشاء مجلد تكوين جديد في دليل الموارد ، ثم قم بإنشاء ملف .properties جديد ووضعه في هذا المجلد. كما هو موضح في Remote.properties في الشكل
2. اكتب ملفات التكوين
remote.uploadfilesurl =/resource/files/remote.uploadpicurl =/resource/pic/
3. قم بإنشاء فئة تكوين جديدة
@configuration@configurationProperties (prefix = "remote" ، تجاهل Fields = false) propertysource ("classpath: config/remote.properties")@data@componentpublic class remoteproperties {private string uploadurl ؛ سلسلة uploadpicurl الخاصة ؛}في
يشير التكوين إلى أن هذه فئة تكوين
configurationProperties (prefix = "Remote" ، تجاهل Fields = false) يتم استخدام هذا التعليق التوضيحي لربط الخصائص. يتم استخدام البادئة لتحديد بادئة الخاصية ، أي "عن بُعد" في ملف Remote.properties. يتم استخدام DecloreNunkNownFields لإخبار Springboot لرمي استثناء عندما لا يمكن لممتلكات مطابقة المجال المعلن.
propertysource ("classpath: config/remote.properties" مسار ملف التكوين
Data هذا هو شرح لومبوك ، يستخدم لإنشاء أساليب getter & setter. للحصول على التفاصيل ، يرجى الرجوع إلى المعلومات المتعلقة بـ Lombok.
component تم تحديدها على أنها فول
4. كيفية استخدامه؟
توضيح EnableConfigurationProperties (remoteproperties.class) على الجدول على الفصل حيث توجد الطريقة التي تريد استخدامها في ملف التكوين.
وحقن تلقائي
AUTOWIREDREMOTEPROPERTIES REMOTEPREPERTIES ؛
استخدم remoteproperties.getuploadfilesurl () في الطريقة للحصول على محتوى التكوين.
enableConfigurationProperties (remoteproperties.class) restControllerPublic testService {autowired remoteproperties remoteproperties ؛ اختبار void العام () {string str = remoteproperties.getUploAdfilesUrl () ؛ system.out.println (str) ؛ }}هنا STR هو "/الموارد/الملفات/" في ملف التكوين.
ملاحظة: دعنا نلقي نظرة على طريقتان لقراءة ملفات تكوين التكوين في SPRING-BOOT
إذا كنت قد فهمت تقنية SPRING-Boot ، فيجب أن تعرف التطبيق.
كيف يقرأ الربيع ملفات التكوين:
1. اقرأ معلومات ملف التكوين الأساسية للتطبيق.
يشير ملف التكوين الأساسي إلى Application.Properties أو Application.yml Configuration File في دليل الجذر للموارد. هناك طريقتان لقراءة هذين ملفين التكوين ، وكلاهما بسيط نسبيا.
محتوى ملف التكوين الأساسي.
test.msg = Hello World Springboot
الطريقة 1: استخدام طريقة Value (شائع الاستخدام)
حزمة solin.controller ؛ استيراد org.springframework.beans.factory.annotation.value ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.restController ؛ RestController الفئة العامة webController {value ("$ {test.msg}") سلسلة خاصة msg ؛ requestmapping ("/index1") public string index1 () {return "الطريقة 1:"+msg ؛ }} ملاحظة: يتم تضمين $ {} من Value في اسم المفتاح في ملف التكوين الأساسي. يعني إضافة RestController إلى فئة وحدة التحكم أنه يتم عرض جميع المشاهدات في هذه الفئة في JSON ، على غرار إضافة @ResponseBody إلى طريقة العرض.
عند الزيارة: http: // localhost: 8088/index1 ، ستحصل على: "الطريقة 1: Hello World Springboot"
الطريقة 2: استخدام طريقة البيئة
حزمة solin.controller ؛ استيراد org.springframework.beans.factory.annotation.autowired ؛ استيراد org.springframework.beans.factory.annotation.value ؛ استيراد org.springframework.core.env.environment ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.restController ؛ @RestController الفئة العامة webController {autowired private Environment env ؛ requestmapping ("/index2") public string index2 () {return "الطريقة 2:"+env.getProperty ("test.msg") ؛ }} ملاحظة: هذه الطريقة هي استخدام evnironment لإكمال حقن التبعية. أضف التعليق التوضيحي Autowired إلى Env Private Environment Private Environ لإكمال حقن التبعية ، ثم استخدم Env.GetProperty ("اسم المفتاح") لقراءة القيمة المقابلة.
عند الزيارة: http: // localhost: 8088/index2 ، تحصل على: "الطريقة 2: Hello World Springboot"
2. اقرأ معلومات ملف التكوين المخصصة ، على سبيل المثال: Author.properties
من أجل عدم تدمير البيئة الأصلية للملف الأساسي ، ولكن يحتاج أيضًا إلى الحصول على معلومات تكوين مخصصة ، بشكل عام ، يتم تحديد ملفات التكوين المخصصة لوضع هذه المعلومات المخصصة. هنا ، يتم إنشاء مؤلف ملف التكوين.
الموارد/المؤلف. محتوى properties هو كما يلي:
المؤلف. name = solin deful.age = 22
إنشاء فئة كيان لإدارة التكوين:
حزمة solin.controller ؛ استيراد org.springframework.boot.context.properties.ConfigurationProperties ؛ استيراد org.springframework.context.annotation.configuration ؛ استيراد org.springframework.stereotype.component ؛ // أضف إلى Comment @component ، يمكنك استخدام Autowired مباشرة لإنشاء كائن المثيل الخاص به في أماكن أخرى @COCMONFIGURITYPROPERTIES (prefix = "uptor" ، sortes = "classpath: uplor.properties") الفئة العامة myWebConfig {private string name ؛ عصر INT الخاص ؛ السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } public int getage () {return Age ؛ } public void setage (int age) {this.age = age ؛ }}يلاحظ:
هناك خصائصان في شرح التعليق التوضيحي لـ ConfigurationProperties:
المواقع: حدد موقع ملف التكوين
البادئة: حدد بادئة اسم المفتاح في ملف التكوين (جميع أسماء المفاتيح في ملف التكوين هنا تبدأ بالمؤلف.)
استخدام component هو تمكين الفئة من الاعتماد على أماكن أخرى ، أي إنشاء مثيلات باستخدام التعليق التوضيحي Autowired.
إنشاء وحدة تحكم اختبار
حزمة solin.controller ؛ استيراد org.springframework.beans.factory.annotation.autowired ؛ استيراد org.springframework.stereotype.controller ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.ResponseBody ؛ controller الفئة العامة configController {autowired private myWebConfig conf ؛ @requestmapping ("/test") publicResponsebody String Test () {return "name:"+conf.getName ()+"---"+"العمر:"+conf.getage () ؛ }}ملاحظة: منذ إضافة component إلى فئة Conf ، يمكنك استخدام Autowired مباشرة لإنشاء كائن المثيل الخاص به.
عند الزيارة: http: // localhost: 8088/test ، تحصل على: "الاسم: solin --- العمر: 22"
لخص
ما ورد أعلاه هو طريقة قراءة ملفات تكوين الخصائص المخصصة تحت Springboot المقدمة لك من قبل المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!