Korištenje Spring @Value sa zadanim postavkama

1. Pregled

Proljetni @Vrijednost napomena pruža prikladan način ubrizgavanja vrijednosti svojstava u komponente. Također je vrlo korisno osigurati razumne zadane vrijednosti za slučajeve u kojima imovina možda nije prisutna.

Na to ćemo se usredotočiti u ovom članku - kako odrediti zadanu vrijednost za @Vrijednost Proljetna bilješka. Za detaljniji brzi vodič o @Vrijednost, pogledajte članak ovdje.

2. Zadane vrijednosti niza

Pogledajmo osnovnu sintaksu za postavljanje zadane vrijednosti za Niz svojstvo:

@Value ("$ {some.key: moja zadana vrijednost}") private String stringWithDefaultValue; 

Ako neki.ključ onda se ne može riješiti nizWithDefaultValue bit će postavljena na zadanu vrijednost “moja zadana vrijednost ".

Slično tome, možemo postaviti nultu duljinu Niz kao zadana vrijednost:

@Value ("$ {some.key:})" privatni niz stringWithBlankDefaultValue;

3. Primitivci

Da biste postavili zadanu vrijednost za primitivne tipove poput boolean i int, koristimo doslovnu vrijednost:

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

Ako bismo htjeli, umjesto toga bismo mogli koristiti primitivne omote mijenjanjem vrsta u Booleova i Cijeli broj.

4. Nizovi

U niz također možemo ubaciti popis vrijednosti odvojenih zarezom:

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

U prvom primjeru gore vrijednosti "jedan", “dva", i “tri" se ubrizgavaju kao zadane vrijednosti u stringArrayWithDefaults.

U drugom primjeru vrijednosti 1, 2 i 3 ubrizgavaju se kao zadane vrijednosti u intArrayWithDefaults.

5. Korištenje SpEL-a

Također možemo koristiti Spring Expression Language (SpEL) da odredimo izraz i zadane vrijednosti.

U primjeru u nastavku očekujemo neki.sustav.ključ da se postavi kao svojstvo sustava, a ako nije postavljeno, želimo koristiti “moja zadana vrijednost svojstva sustava " kao zadani:

@Value ("# {systemProperties ['some.key']?: 'Moja zadana vrijednost svojstva sustava'}") private String spelWithDefaultValue;

6. Zaključak

U ovom kratkom članku pogledali smo kako možemo postaviti zadanu vrijednost za svojstvo čiju bismo vrijednost željeli ubrizgati pomoću Spring-a @Vrijednost bilješka.

Kao i obično, svi uzorci koda korišteni u ovom članku mogu se naći u projektu GitHub.