นอกจากนี้ฉันพบวิธีแก้ปัญหาอื่นที่เหมาะกับฉัน ในโครงการสปริงดั้งเดิมของเราเราใช้วิธีนี้เพื่อให้ผู้ใช้ของเราสามารถใช้การกำหนดค่านี้เอง:
<bean id="appUserProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="ignoreResourceNotFound" value="false"/>
<property name="locations">
<list>
<value>file:./conf/user.properties</value>
</list>
</property>
</bean>
และในรหัสของเราในการเข้าถึงคุณสมบัตินี้จำเป็นต้องเขียนดังนี้:
@Value("#{appUserProperties.userProperty}")
private String userProperty
และหากสถานการณ์เกิดขึ้นเมื่อคุณต้องการเพิ่มคุณสมบัติใหม่ แต่ตอนนี้คุณไม่ต้องการเพิ่มในการกำหนดค่าผู้ใช้ที่ใช้งานจริงมันจะกลายเป็นนรกอย่างรวดเร็วเมื่อคุณต้องการแก้ไขบริบทการทดสอบทั้งหมดของคุณมิฉะนั้นแอปพลิเคชันของคุณจะล้มเหลว เริ่มต้น
ในการจัดการปัญหานี้คุณสามารถใช้ไวยากรณ์ถัดไปเพื่อเพิ่มค่าเริ่มต้น:
@Value("#{appUserProperties.get('userProperty')?:'default value'}")
private String userProperty
มันเป็นการค้นพบที่แท้จริงสำหรับฉัน
18GerPD8fY4iTbNpC9hHNXNHyrDMampPLA
คืออะไร? ฉันแน่ใจว่าคนอื่นรู้และฉันก็โง่ แต่ในกรณี ...