Tôi có những thứ sau trong một Spring bean:
@Value("${myValue}")
private String value;
Giá trị được nhập chính xác. Tuy nhiên, biến cần phải là tùy chọn, nó được chuyển vào dưới dạng tham số dòng lệnh (sau đó được thêm vào ngữ cảnh Spring bằng cách sử dụng SimpleCommandLinePropertySource ) và đối số này sẽ không luôn tồn tại.
Tôi đã thử cả hai cách sau để cung cấp giá trị mặc định:
@Value("${myValue:}")
@Value("${myValue:DEFAULT}")
nhưng trong mỗi trường hợp, đối số mặc định sau dấu hai chấm được đưa vào ngay cả khi có giá trị thực - điều này xuất hiện ghi đè những gì Spring sẽ đưa vào.
Cách chính xác để chỉ định @Value là không bắt buộc?
Cảm ơn
@Value("${some.prop:}")
làm việc cho tôi. Đó là Chú thích duy nhất trên biến đó.