Používanie Spring @Value s predvolenými hodnotami

1. Prehľad

Jarné @Hodnota anotácia poskytuje pohodlný spôsob vkladania hodnôt vlastností do komponentov. Je to tiež celkom užitočné poskytnúť rozumné predvolené hodnoty pre prípady, keď nehnuteľnosť nemusí byť prítomná.

Na to sa v tomto článku zameriame - ako určiť predvolenú hodnotu pre @Hodnota Jarná anotácia. Podrobnejší rýchly sprievodca sa nachádza na webe @Hodnota, pozri článok tu.

2. Predvolené hodnoty reťazca

Pozrime sa na základnú syntax pre nastavenie predvolenej hodnoty pre a String nehnuteľnosť:

@Value ("$ {some.key: moja predvolená hodnota}") private String stringWithDefaultValue; 

Ak nejaký.kľúč sa teda nedá vyriešiť stringWithDefaultValue bude nastavená na predvolenú hodnotu „moja predvolená hodnota “.

Podobne môžeme nastaviť nulovú dĺžku String ako predvolená hodnota:

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

3. Primitíva

Ak chcete nastaviť predvolenú hodnotu pre primitívne typy, ako sú boolovský a int, použijeme doslovnú hodnotu:

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

Keby sme chceli, mohli by sme namiesto toho použiť primitívne obaly zmenou typov na Boolovský a Celé číslo.

4. Polia

Do poľa môžeme vložiť aj zoznam hodnôt oddelených čiarkami:

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

V prvom príklade vyššie sú hodnoty „jeden “, “dva"a „tri “ sú vstrekované ako predvolené do stringArrayWithDefaults.

V druhom príklade hodnoty 1, 2 a 3 sú vstrekované ako predvolené do intArrayWithDefaults.

5. Používanie SpEL

Na určenie výrazu a predvoleného nastavenia môžeme použiť aj jazyk Spring Expression Language (SpEL).

V nasledujúcom príklade očakávame some.system.key ako systémová vlastnosť, a ak nie je nastavená, chceme použiť „moja predvolená hodnota systémového majetku “ ako predvolené:

@Value ("# {systemProperties ['some.key']?: 'Moja predvolená hodnota systémovej vlastnosti'}") private String spelWithDefaultValue;

6. Záver

V tomto rýchlom článku sme sa pozreli na to, ako môžeme nastaviť predvolenú hodnotu pre vlastnosť, ktorej hodnotu by sme chceli vložiť pomocou Spring's @Hodnota anotácia.

Ako obvykle, všetky ukážky kódu použité v tomto článku nájdete v projekte GitHub.


$config[zx-auto] not found$config[zx-overlay] not found