ฉันมีสิ่งต่อไปนี้ใน Spring bean:
@Value("${myValue}")
private String value;
ค่าถูกฉีดอย่างถูกต้อง อย่างไรก็ตามตัวแปรจำเป็นต้องเป็นทางเลือกซึ่งจะถูกส่งผ่านเป็นพารามิเตอร์บรรทัดคำสั่ง (ซึ่งจะถูกเพิ่มไปยังบริบท Spring โดยใช้SimpleCommandLinePropertySource ) และอาร์กิวเมนต์นี้จะไม่มีอยู่เสมอไป
ฉันได้ลองทั้งสองอย่างต่อไปนี้เพื่อระบุค่าเริ่มต้น:
@Value("${myValue:}")
@Value("${myValue:DEFAULT}")
แต่ในแต่ละกรณีอาร์กิวเมนต์เริ่มต้นหลังจากที่ลำไส้ใหญ่ถูกฉีดเข้าไปแม้ว่าจะมีค่าจริงก็ตาม - สิ่งนี้จะแทนที่สิ่งที่สปริงควรฉีด
อะไรคือวิธีที่ถูกต้องในการระบุว่าไม่จำเป็นต้องมี@Value
ขอบคุณ
@Value("${some.prop:}")
ทำงานให้ฉัน นั่นเป็นเพียงคำอธิบายประกอบของตัวแปรนั้น