知識庫 / Spring RSS 訂閱

使用 Spring @Value 與默認值

Spring
HongKong
6
02:14 PM · Dec 06 ,2025

1. 概述

Spring 的 @Value 註解提供了一種方便的方法,可以將屬性值注入到組件中。它也非常有用,可以為可能不存在的屬性提供合理的默認值。

我們將重點介紹在 Spring 的 @Value 註解中指定默認值的具體方法。

有關 @Value 的更詳細快速指南,請參閲此處。

2. 字符串默認值

讓我們看一下為 String 屬性設置默認值的基本語法:

@Value("${some.key:my default value}")
private String stringWithDefaultValue;

如果 some.key 無法被解析,stringWithDefaultValue 將會被設置為 my default value 的默認值。

同樣,我們可以將一個空字符串設置為默認值:

@Value("${some.key:}")
private String stringWithBlankDefaultValue;

3. 原始數據類型

為了為原始數據類型(如布爾值整數)設置默認值,我們使用字面值:

@Value("${some.key:true}")
private boolean booleanWithDefaultValue;
@Value("${some.key:42}")
private int intWithDefaultValue;

如果我們想要,我們可以使用原始包裝器,通過將類型更改為BooleanInteger

4. 數組

我們還可以將用逗號分隔的值列表注入到數組中:

@Value("${some.key:one,two,three}")
private String[] stringArrayWithDefaults;

@Value("${some.key:1,2,3}")
private int[] intArrayWithDefaults;

在上述第一個示例中,值 onetwothree 作為默認值注入到 stringArrayWithDefaults 中。

在第二個示例中,值 123 作為默認值注入到 intArrayWithDefaults 中。

5. 使用 SpEL

我們可以使用 Spring 表達式語言 (SpEL) 來指定一個表達式和默認值。

在下面的示例中,我們期望將 <em >some.system.key</em> 設置為系統屬性,如果未設置,我們希望使用 <em >my default system property value</em> 作為默認值。

@Value("#{systemProperties['some.key'] ?: 'my default system property value'}")
private String spelWithDefaultValue;

6. 結論

在本文中,我們探討了如何為希望通過 Spring 的 @Value 註解注入值的屬性設置默認值。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.