إذا كانت بعض المعلمات في المشروع تحتاج إلى تعديل بشكل متكرر ، أو قد تحتاج إلى تعديلها لاحقًا ، فمن الأفضل وضع هذه المعلمات في ملف الخصائص وقراءة التكوين في الخصائص في الكود المصدري. وبهذه الطريقة ، يجب تعديل ملف الخصائص فقط في وقت لاحق ، وليس هناك حاجة لتعديل الكود المصدر ، وهو أكثر ملاءمة. يمكن أيضًا القيام بذلك في فصل الربيع ، ويحتوي Spring على طريقتان لتحميل ملفات الخصائص: استنادًا إلى طريقة XML واستنادًا إلى طريقة التعليقات التوضيحية . فيما يلي الطريقتين.
1. تحميل خصائص ملف من خلال XML
دعنا نأخذ مصدر البيانات في الربيع كمثال. نقوم عمومًا بتكوين ما يلي في ملف beans.xml:
<!-com.mchange.v2.c3p0.combopooledDatasource Class في حزمة com.mchange.v2.c3p0 من C3p0-0.9.5.jar package-> <bean id = "dataSource"> <property name = "driverClass" value = "com.mysql.jdbc.driver value = "jdbc: mysql: // localhost: 3306/shop"/> <property name = "user" value = "root"/> <Propert
الآن إذا أردنا تغيير مصدر البيانات ، يتعين علينا تعديل رموز المصدر هذه ، ولكن إذا استخدمنا ملفات الخصائص ، فنحن بحاجة فقط إلى تعديل الكود المصدر ، ولا نهتم بالرمز المصدري. فكيف تفعل ذلك؟
هناك <context:property-placeholder location=""/> علامة في الربيع ، والتي يمكن استخدامها لتحميل ملفات تكوين الخصائص. الموقع هو المسار إلى ملف التكوين. نقوم الآن بإنشاء ملف conn.properties جديد ضمن SRC من دليل المشروع ، واكتب تكوين مصدر البيانات أعلاه:
dataSource = com.mchange.v2.c3p0.combopooledDataSource driverClass = com.mysql.jdbc.driver
الآن تحتاج فقط إلى إجراء التعديلات التالية في Beans.xml:
<السياق: property-placeholder location = "classpath: conn.properties"/> <!-تحميل ملف التكوين-> <!-com.mchange.v2.c3p0.combooleddataSource class في حزمة com.mchange.v2.c3p0 من c3p0-0. conn.properties عند بدء التشغيل -> <property name = "driverclass" value = "$ {driverClass}" /> <property name = "jdbcurl" value = "$ {jdbcurl}" /> <property name = "jdbcurl" value = "$ {jdbcurl}" /> value = "$ {password}"/> </bean> <context: property-placeholder location = "" "/> يمكن أيضًا استبدال العلامات بالعلامات التالية. نحن على دراية أكثر بعلامات <Nean> ونحن أكثر قابلية للقراءة: <!-ما يعادل التكوين أعلاه ، ما يلي أسهل في الفهم-> <bean> <property name = "soligations"> <!-هناك خاصية مواقع في فئة propertyholderconfigurer ، والتي تتلقى صفيفًا ، يمكننا تعيين ملفات متعددة أدناه- </property> </ban> على الرغم من أنه يبدو أنه موجز مثل <context:property-placeholder location=""/> ، فهو أكثر وضوحًا. يوصى باستخدام ما يلي. ومع ذلك ، يقتصر هذا على XML ، أي استخدام ${key} للحصول على القيمة في ملف التكوين في beans.xml.
2. ملف خصائص التحميل من خلال التعليق التوضيحي
هناك طريقة أخرى تتمثل في استخدام التعليق التوضيحي Value لتحميل القيم في ملف التكوين من خلال التعليقات التوضيحية.
دعنا نأخذ مثالاً: إذا أردنا الحصول على المسار المطلق إلى ملف معين في البرنامج ، فسنعتقد بطبيعة الحال أنه لا يمكننا كتابته ميتًا في البرنامج ، فيمكننا أيضًا إلغاء تثبيت ملف الخصائص. أو إنشاء ملف public.properties جديد في دليل SRC ، على افتراض أن السجل مكتوب فيه:
filepath = e/: //web//apache-tomcat-8.0.26//webapps//e_shop//image
إذا كنت ترغب في الحصول على هذا filepath من خلال التعليقات التوضيحية في كود Java ، فيجب عليك أولاً تكوين طريقة التعليقات التوضيحية في ملف Beans.xml:
<!-الطريقة الثانية هي استخدام حقن التعليق التوضيحي ، والذي يستخدم بشكل أساسي في رمز Java لحقن قيمة القيمة المقابلة في ملف الخصائص باستخدام التعليقات التوضيحية-> <bean id = "prop"> <property name = "socations"> <!-هذا هو فئة propertiesfactorybean. كما أنه يحتوي على خاصية مواقع ويتلقى أيضًا صفيفًا ، تمامًا مثل "Array> <value> classpath: public.properties </value> </ray> </spertar
الآن يمكننا استخدام التعليقات التوضيحية في رمز Java للحصول على قيمة FilePath:
component ("fileUpload") الفئة العامة fileUploAdutil تنفذ fileUpload {private string filepath ؛ value ("#{prop.filepath}") //@value تعني العثور على الفول مع id = "prop" في ملف beans.xml. يقرأ ملف تكوين الخصائص من خلال التعليق التوضيحي ، ثم يقرأ قيمة القيمة المقابلة للمفتاح = filePath في ملف التكوين المقابل setFilePath (سلسلة filepath) {system.out.println (filepath) ؛ this.filepath = filepath ؛ }لاحظ أنه يجب أن يكون هناك طريقة محددة ، ويمكن كتابة التعليقات التوضيحية على طريقة المجموعة. في طريقة setFilePath ، تتم طباعة FilePath من خلال وحدة التحكم لمراقبة ما إذا كانت وحدة التحكم لديها إخراج عند بدء تشغيل tomcat. إذا كان الأمر كذلك ، فهذا يعني أن الربيع قد قام بتحميل FilePath عند بدء تشغيله. دعونا نلقي نظرة على معلومات بدء التشغيل من وحدة التحكم:
ما سبق هما طريقتان من ملفات تكوين خصائص الربيع. في الواقع ، فإن فئة PropertplaceHolderConfigurer أعلاه بناءً على طريقة XML وفئة PropertiesFactoryBean هنا بناءً على طريقة التعليقات الشراعية ، ترث كل من Propertiesloadersupport ويستخدم كلاهما لتحميل ملف تكوين الخصائص.
لخص
ما ورد أعلاه هو شرح مفصل لمثالين من خصائص تحميل الربيع الذي أدخله المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!