قد يجد المطورون الذين لا يفهمون الخصائص في الربيع أمرًا مربكًا بعض الشيء ، ويرجع ذلك أساسًا إلى وجود العديد من طرق التكوين والعديد من طرق الاستخدام.
هذه المقالة ليست مقالة تحليل مبدأ أو تحليل رمز المصدر ، لكنني آمل أن تساعد القراء على فهم خصائص الربيع واستخدامها بشكل أفضل.
استخدام الخصائص
استخدم جميع قراء هذه المقالة الربيع. دعونا أولاً نلقي نظرة على كيفية استخدام الخصائص. هناك العديد من الطرق شائعة الاستخدام في الربيع:
1. استخدم في ملف تكوين XML
وهذا هو ، يتم استبدال القيمة في $ {} تلقائيًا.
<bean id = "xxx"> <property name = "url" value = "$ {javadoop.jdbc.url}" /> </bean>2. استخدم عبر حقن Value
Value ("$ {javadoop.jdbc.url}") url سلسلة خاصة ؛3. الحصول على من خلال البيئة
هناك بعض الأشياء التي يجب الانتباه إليها في هذه الطريقة. لا تدعم جميع طرق التكوين الحصول على قيم الخصائص من خلال واجهة البيئة. لا يمكن استخدام الاختبار الشخصي إلا عند استخدام التعليق التوضيحي @propertysource ، وإلا فإنك ستحصل على NULL. أما بالنسبة لكيفية تكوينه ، فسوف أتحدث عنه مباشرة أدناه.
AutowiredPrivate Environment Env ؛ public string geturl () {return env.getProperty ("javadoop.jdbc.url") ؛}إذا تم تسجيله مع تطبيق Spring Boot Application.properties ، فهذا جيد.
تكوين الخصائص
لقد ذكرنا سابقًا كيفية استخدام الخصائص التي قمنا بتكوينها ، فكيف تكوينها؟ يوفر الربيع العديد من طرق التكوين.
1. تكوين عبر XML
فيما يلي طريقة التكوين الأكثر استخدامًا ، ويتم كتابة العديد من المشاريع مثل هذا:
<السياق: موقع property-placeholder = "classpath: sys.properties" />
2. تكوين عبر propertysource
يعد تكوين XML السابق شائعًا جدًا ، ولكن إذا كان لديك أيضًا رغبة في التخلص من جميع ملفات تكوين XML ، فيجب عليك استخدام الطريقة التالية:
propertysource ("classpath: sys.properties")@configurationpublic class javadoopconfig {}لاحظ أنه يجب استخدام propertysource مع التكوين هنا ، لذلك لن أخوض في التفاصيل.
3
إذا رأى القراء هذا ، فلا يهم إذا فوجئوا. هذه هي الطريقة التي تم استخدامها قبل الربيع 3.1:
<Bean> <property name = "sortations"> <list> <value> classPath: sys.properties </value> </list> </sprement> <property name = "reghoreUnresolvablePlesholders" value = "true"/> <!-يمكن تكوين بعض الخصائص هنا-> </bean>
بالطبع ، يمكننا أيضًا استخدام إصدار تكوين Java المقابل:
beanpublic propertyplaceholderConfigurer propertiess () {propertyholderConfigurer ppc = new propertyplaceholderConfigurer () ؛ الموارد [] الموارد = جديد classPathResource [] {new classPathResource ("sys.properties")} ؛ PPC.SetLocations (الموارد) ؛ ppc.setignoreUnresolvablebolors (True) ؛ إرجاع PPC ؛}4
عندما تم إطلاق Spring 3.1 ، تم تقديم PropertySourcesPlaceholderConfigurer ، وهو فصل جديد. يرجى ملاحظة أن هناك مصادر إضافية باسم propertyholderConfigurer السابق ، والحزمة التي تنتمي إليها مختلفة. إنه في حزمة سياق الربيع.
لا يوجد فرق في التكوين:
<Bean> <property name = "sortations"> <list> <value> classPath: sys.properties </value> </list> </sprement> <property name = "reghoreUnresolvablePlesholders" value = "true"/> <!-يمكن تكوين بعض الخصائص هنا-> </bean>
دعونا أيضًا لدينا نسخة تكوين Java:
beanpublic propertysourcesplaceholderConfigurer properties () {propertySourCesPlaceholderConfigurer pspc = new PropertySourCesPlaceholderConfigurer () ؛ الموارد [] الموارد = جديد classPathResource [] {new classPathResource ("sys.properties")} ؛ PSPC.SetLocations (الموارد) ؛ pspc.setignoreUnresolvableers (True) ؛ إرجاع PSPC ؛}حذاء الربيع المتعلق
يعد SPRING BOOT أمرًا جيدًا حقًا ، ويشعر أنه من الجيد استخدامه خارج الصندوق. فيما يلي مقدمة موجزة للمحتوى ذي الصلة.
قم بإنشاء مشروع Boot Spring بسرعة: https://start.spring.io/
application.properties
يحتوي كل مشروع على ملف Application.Properties افتراضيًا. لا يلزم تسجيل ملف التكوين هذا كما هو مذكور سابقًا. سيساعدنا SPRING BOOT في التسجيل تلقائيًا.
بالطبع ، ربما يمكنك تغيير الاسم ، فقط حدد اسم الملف الخاص بك عند البدء:
java -dspring.config.location = classpath: sys.properties -jar app.jar
application- {env} .properties
من أجل تحديد تكوينات مختلفة لبيئات مختلفة ، سنستخدم هذا.
على سبيل المثال ، تختلف معلومات اتصال قاعدة البيانات عن بيئة الاختبار وبيئة الإنتاج.
لذلك ، استنادًا إلى application.properties ، نحتاج أيضًا إلى إنشاء تطبيق جديد-properties و Application-PRD.Properties لتكوين المعلومات المتعلقة بالبيئة ، ثم تحديد البيئة عند البدء.
java -dspring.profiles.active = prd -jar app.jar
والنتيجة هي أنه سيتم تسجيل التكوينات في كل من Application.Properties و Application-PRD.Properties. إذا كانت هناك مفاتيح مكررة ، تكون الأولوية في ملفات التطبيق-properties أعلى.
configurationProperties
هذا التعليق التوضيحي متوفر فقط في Spring Boot.
حتى إذا لم تستخدم هذا التعليق التوضيحي ، فقد ترى ذلك في مشروع مفتوح المصدر. هنا مقدمة موجزة.
دعنا نأخذ مثالاً لنكون أكثر سهولة. كما ذكرنا من قبل ، املأ المعلومات التالية في ملف التكوين ، يمكنك اختيار الكتابة إلى Application.Properties أو استخدام الطريقة التي تم تقديمها في القسم الأول.
javadoop.database.url = jdbc: mysql: javadoop.database.username = adminjavadoop.database.password = admin123456
ملف جافا:
@configuration@configurationProperties (prefix = "javadoop.database") قاعدة بيانات الفئة العامة {url url ؛ اسم المستخدم كلمة مرور السلسلة ؛ // getters and setters}وبهذه الطريقة ، يتم تسجيل قاعدة بيانات الفاصوليا من النوع تلقائيًا في حاوية الربيع ، ويتم تعيين الخصائص.
تعديل قيم السمات ديناميكيًا أثناء بدء التشغيل
لا أعتقد أن هذا يحتاج إلى الكثير من المقدمة ، ويجب على أولئك الذين يستخدمون Boot SPRING أن يعرفوا ذلك بشكل أساسي.
يحتوي تكوين السمة على ترتيب تجاوز ، أي عندما يظهر المفتاح نفسه ، يجب أن تسود القيمة.
معلمات بدء التشغيل> Application- {env} .properties> application.properties
ابدأ المعلمات تعيين الخصائص بشكل ديناميكي:
java -djavadoop.database.password = admin4321 -jar app.jar
بالإضافة إلى ذلك ، يمكنك أيضًا استخدام متغيرات بيئة النظام لضبط الخصائص ، وتحديد أرقام عشوائية ، وما إلى ذلك ، وهي بالفعل مرنة للغاية ، لكنها عديمة الفائدة ، لذلك لن أقدمها.
لخص
إذا أراد القراء فهم أعمق لخصائص الربيع ، فيجب عليهم فهم الكود المصدري المتعلق بواجهة بيئة الربيع. يُنصح القراء المهتمين بالبحث من خلال رمز المصدر.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.