Рубрики
Без рубрики

Использование Spring @Value по умолчанию

Краткое и практическое руководство по настройке значений по умолчанию при использовании аннотации @Value весной.

Автор оригинала: baeldung.

1. Обзор

Аннотация Spring @Value обеспечивает удобный способ введения значений свойств в компоненты. Также весьма полезно обеспечить разумные значения по умолчанию для случаев, когда свойство может отсутствовать .

Именно на этом мы сосредоточимся в этой статье – как указать значение по умолчанию для аннотации @Value Spring. Более подробное краткое руководство по @Value см. в статье здесь .

Дальнейшее чтение:

Краткое руководство по Spring @Value

Свойства с пружиной и пружинным загрузчиком

Руководство по языку выражений Spring

2. Строковые значения по умолчанию

Давайте рассмотрим базовый синтаксис для установки значения по умолчанию для свойства String :

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

Если some.key не может быть разрешен, то string Значение по умолчанию будет установлено в значение по умолчанию ” мое значение по умолчанию” .

Аналогично, мы можем установить нулевую длину String в качестве значения по умолчанию:

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

3. Примитивы

Чтобы установить значение по умолчанию для примитивных типов , таких как boolean и int , мы используем литеральное значение:

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

Если бы мы захотели, мы могли бы вместо этого использовать примитивные оболочки, изменив типы на Boolean и Integer .

4. Массивы

Мы также можем ввести разделенный запятыми список значений в массив:

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

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

В первом приведенном выше примере значения ” один” , ” два” и ” три” вводятся по умолчанию в массив строк Со значениями по умолчанию .

Во втором примере значения 1, 2 и 3 вводятся по умолчанию в массив int Со значениями по умолчанию .

5. Использование заклинания

Мы также можем использовать язык выражений Spring (SpEL) для указания выражения и значения по умолчанию.

В приведенном ниже примере мы ожидаем, что some.system.key будет установлен в качестве системного свойства, а если он не установлен, мы хотим использовать ” мое значение системного свойства по умолчанию” в качестве значения по умолчанию:

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

6. Заключение

В этой краткой статье мы рассмотрели, как мы можем установить значение по умолчанию для свойства, значение которого мы хотели бы ввести с помощью аннотации Spring @Value .

Как обычно, все примеры кода, используемые в этой статье, можно найти в проекте GitHub .