في تطوير مشروع Maven ، ما الذي يجب أن أفعله عندما أحتاج إلى قراءة ملف التكوين تحت SRC/؟
دعنا نفترض أن هناك ملف تكوين تحت الموارد التي تحمل اسم الملف kafka.properties (لماذا تستخدم kafka.properties؟ لأن هذه مشكلة مواجهتها عند القيام بمشاريع كافكا.
1. اقرأ في فئة جافا
إذا لم يكن ملف التكوين في دليل SRC/Main/Resources ، فيمكنك استخدامه مباشرة.
Properties Prop = New Properties () ؛ prop.load (new inputStream ("kafka.properties")) ؛عندما يتم وضع ملف التكوين في دليل SRC/Main/Resources ، يمكنك فقط استخدام طريقة class.getResourCeasStream () للتحميل
Properties Prop = New Properties () ؛ prop.load (this.getClass (). getResourCeasStream ("/kafka.properties")) ؛ في هذا الوقت ، يتم كتابة مسار المعلمة في طريقة getResourCeasStream (اسم السلسلة):
1). إذا كتبت باسم "kafka.properties" ، فسيتم البحث في نفس الدليل مثل ملف الفئة للفئة الحالية (ولكن من الواضح أنه لن يضع أحد ملف التكوين في هذا الموضع في المشاريع العادية).
2). إذا كتبت باسم "/kafka.properties" ، فانتقل إلى دليل الفصول للمشروع بأكمله وابحث عنه ، أي الهدف/الفصول
2. اقرأ في ملف XML من إطار الربيع
أولاً ، دعنا نكتب ملف تكوين kafka.properties
kafka.topic = topic serializer.class = kafka.Serializer.StringEncoder key.serializer.class = kafka.serializer.stringencoder
هناك طريقتان للاتصال
1). الأول ، يمكنك تكوينه في حبوب الربيع
<bean id = "propertyConfigurer"> <property name = "sortations"> <list> <span style = "white-Space: pre"> </spane> <value> /kafka.properties </value> </list> </sprement> </ban>
هنا يمكنك أيضًا تكوين قيم متعددة في علامة القائمة ، بحيث يمكن قراءة ملفات تكوين واحدة أو حتى متعددة في الفول.
<bean id = "kafkaservice"> <!-<property name = "topic"> <value> الموضوع </value> </swerperation>-> <property name = "topic"> <suality> $ {kafka.topic} </value> </propert وبهذه الطريقة ، يمكن استدعاء المعلمات في ملف التكوين بنجاح في الحبة اللاحقة. القسم المذكور أعلاه من الممتلكات والخط المعلق لهما نفس التأثير.
2). أو يمكنك أيضًا استخدام الطريقة التالية
<سياق: موقع property-placeholder = "classpath: kafka.properties"/>
تكوين السياق: Property-Placeholder مباشرة في ملفات تكوين الربيع. هناك العديد من ملفات التكوين التي يمكن فصلها بواسطة الفواصل ، على سبيل المثال
<السياق: موقع property-placeholder = "classpath: kafka.properties ، classpath: jdbc.properties"/>
الطريقة التي تسمى هي نفسها كما في 1). ، لذلك لن أكررها هنا.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.