English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تفسير قراءة وتطبيق ملف properties في Spring

تفسير قراءة وتطبيق ملف properties في Spring

في المشاريع الفعلية، عادة ما يتم وضع بعض المعلومات القابلة للتعديل والمخصصة في ملفات الخصائص (مثل معلومات اتصال قاعدة البيانات، إعدادات إرسال البريد الإلكتروني، إلخ) لسهولة إدارة التكوين الموحد. في المثال، يتم وضع معلومات الخصائص التي يجب تكوينها في ملف الخصائص /WEB-INF/configInfo.properties.

بعض معلومات الإعدادات (معرفات إرسال البريد الإلكتروني):

# إعدادات إرسال البريد الإلكتروني
البريد الإلكتروني.خادم = smtp.163.com
البريد الإلكتروني.منفذ = xxx
البريد الإلكتروني.اسم المستخدم = xxx
البريد الإلكتروني.كلمة المرور = xxx
البريد الإلكتروني.إرسالمن = [email protected]

عند بدء تشغيل حاوية Spring، يتم استخدام bean المدمج لتحميل معلومات ملف الخاصية، في ملف bean.xml يضاف كما يلي:

كود Xml

<!-- محمل خاصيات Spring، تحميل خاصيات ملفات properties -->
 <bean id="propertyConfigurer"
 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
 <property name="location">
  <value>/WEB-INF/configInfo.properties</value>
 </property>
 <property name="fileEncoding" value="utf-8" />
 </bean>

أحد الطرق للحصول على معلومات الخاصية بعد تحميلها هو التطرق إلى القيمة مباشرة بناءً على مفتاح المعلومات في تعريف bean آخر، مثل تكوين bean ماسنجر البريد الإلكتروني كما يلي:

كود Xml

<!-- إرسال البريد الإلكتروني -->
 <bean id="mailSender"
 class="org.springframework.mail.javamail.JavaMailSenderImpl">
 <property name="host">
  <value>${email.host}</value>
 </property>
 <property name="port">
  <value>${email.port}</value>
 </property>
 <property name="username">
  <value>${email.username}</value>
 </property>
 <property name="password">
  <value>${email.password}</value>
 </property>
 <property name="javaMailProperties">
  <props>
  <prop key="mail.smtp.auth">true</prop>
  <prop key="sendFrom">${email.sendFrom}</prop>
  </props>
 </property>
 </bean>

طريقة أخرى لاستخدامها هي الحصول على معلومات الخاصية المحددة في الكود، يمكن تعريف javabean: ConfigInfo.java، باستخدام التتبع لحقول المعلومات التي تحتاج إلى استخدامها في الكود؛ مثل المعلومات التالية في ملف الخاصية يجب الحصول عليها واستخدامها في الكود:

كود Java

#جمع الملفات لتحديد مسار
file.savePath = D:/test/
#توليد مسار نسخة احتياطية للملف، بعد الاستخدام يتم نقل الملف إلى هذا الدليل
file.backupPath = D:/test bak/

كود المشاركة في ConfigInfo.java

كود Java

@Component("configInfo")
public class ConfigInfo {
  @Value("${file.savePath}")
  private String fileSavePath;
  @Value("${file.backupPath}")
  private String fileBakPath;
  public String getFileSavePath() {
    return fileSavePath;
  }
  public String getFileBakPath() {
    return fileBakPath;
  }  
}

استخدام التدقيق بالتعليقات في فئة bo لاستيراد كلاس ConfigInfo

كود Java

@Autowired
private ConfigInfo configInfo;

يجب إضافة مسحوق التحقق في bean.xml لاستخدام مسحوق التحقق للتحقين التلقائي بالتدقيق بالتعليقات

كود Xml

<context:component-scan base-package="com.my.model" />

(يحتوي الملف model المذكور أعلاه على كلاس ConfigInfo).

للحصول على معلومات الخصائص المطلوبة باستخدام طريقة get، يوجد ميزة أن تكون سهلة الاستخدام في الكود، لكن العيب هو أنه إذا كان من الضروري استخدام معلومات الخصائص الجديدة في الكود، يجب إضافة أو تعديل ConfigInfo.java بشكل مناسب.

شكرًا على القراءة، آمل أن يساعدكم هذا، شكرًا لدعمكم لموقعنا!

أنت قد تعجبك