บางครั้งเราจำเป็นต้องอ่านไฟล์กำหนดค่าคุณสมบัติโดยตรงในรหัสสปริงดังนั้นเราจะทำอย่างไร มาดูเนื้อหาเฉพาะด้านล่าง
เราทุกคนรู้ว่าสปริงสามารถอ่านค่าในคุณสมบัติใน @Value เพียงกำหนดค่าไว้ในไฟล์กำหนดค่า
org.springframework.beans.factory.config.propertyplaceholderconfigurer
<bean id = "PropertyConfigurer"> <property name = "location"> <value> classpath: config.properties </value> </porement> </ebean>
จากนั้นเมื่อคุณต้องการใช้สิ่งเหล่านี้เพื่อรับค่ามัธยฐานของคุณสมบัติคุณสามารถใช้มันได้เช่นนี้
@Value ("$ {sql.name}") สตริงส่วนตัว sqlname;แต่มีปัญหากับสิ่งนี้ ทุกครั้งที่ฉันใช้ค่าในไฟล์การกำหนดค่าฉันต้องประกาศตัวแปรท้องถิ่น มีวิธีอ่านค่าโดยตรงในไฟล์กำหนดค่าโดยใช้รหัสหรือไม่?
คำตอบคือการเขียน PropertyPlaceHolderConfigurer ใหม่
Public Class PropertyPlaceholder ขยาย PropertyPlaceHolderConfigurer {แผนที่คงที่ส่วนตัว <สตริงสตริง> PropertyMap; @Override Void ProcessProperties (configurableListableBeanFactory beanfactoryToprocess, อุปกรณ์ประกอบฉาก) พ่น beansexception {super.processproperties (beanfactorytoprocess, อุปกรณ์ประกอบฉาก); PropertyMap = ใหม่ hashmap <string, string> (); สำหรับ (คีย์วัตถุ: props.keyset ()) {string keystr = key.toString (); ค่าสตริง = props.getProperty (keystr); PropertyMap.put (keystr, value); }} // วิธีการคงที่สำหรับการเข้าถึงคุณสมบัติบริบทวัตถุสาธารณะคงที่ getProperty (ชื่อสตริง) {return propertyMap.get (ชื่อ); -ในไฟล์การกำหนดค่าให้ใช้คลาสข้างต้นแทน PropertyPlaceHolderConfigurer
<bean id = "PropertyConfigurer"> <property name = "location"> <value> classpath: config.properties </value> </porement> </ebean>
ด้วยวิธีนี้สามารถรับได้โดยตรงในรหัสโดยการเขียนโปรแกรม
PropertyPlaceHolder.getProperty ("SQL.Name");หากเป็นไฟล์การกำหนดค่าหลายไฟล์กำหนดค่าแอตทริบิวต์ตำแหน่ง
<bean id = "PropertyConfigurer"> <property name = "MolonderEsourCenotFound" value = "true"/> <property name = "locations"> <list> <value> ไฟล์: ./ jdbc.properties </value> <value> ไฟล์: ./ module.config.properties <value> classpath*:*. config.properties </alue> </list> </porement> </ebean>
สรุป
ข้างต้นคือทั้งหมดเกี่ยวกับรหัสของ Spring ในการอ่านการแยกวิเคราะห์ของอินสแตนซ์ไฟล์คุณสมบัติ ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงเว็บไซต์นี้ต่อไปได้:
การวิเคราะห์กระบวนการถั่วอินสแตนซ์สปริงและตัวอย่างรหัสที่สมบูรณ์
การสร้างวิธีการโรงงานฤดูใบไม้ผลิ (instandardization) รหัสอินสแตนซ์ถั่ว
หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!