A Spring @Value használata alapértelmezettel

1. Áttekintés

Tavaszi @Érték az annotáció kényelmes módot kínál a tulajdonságértékek komponensekbe történő injektálására. Ez is nagyon hasznos ésszerű alapértelmezéseket kell előírni azokra az esetekre, amikor egy ingatlan esetleg nincs jelen.

Erre fogunk összpontosítani ebben a cikkben - hogyan adhatunk meg egy alapértelmezett értéket a @Érték Tavaszi kommentár. További részletes gyors útmutató a @Érték, lásd itt a cikket.

2. Karakterlánc alapértelmezett értékei

Vizsgáljuk meg az a alapértelmezett értékének alapszintaktikáját Húr ingatlan:

@Value ("$ {some.key: alapértelmezett értékem}") privát String stringWithDefaultValue; 

Ha néhány.kulcs akkor nem lehet megoldani stringWithDefaultValue az alapértelmezett értékre lesz állítvaaz alapértelmezett értékem ”.

Hasonlóképpen beállíthatunk nulla hosszúságot is Húr alapértelmezett értékként:

@Value ("$ {some.key:})" privát String stringWithBlankDefaultValue;

3. Primitívek

Alapértelmezett érték beállítása olyan primitív típusokhoz, mint például logikai és int, a szó szerinti értéket használjuk:

@Value ("$ {some.key: true}") privát logikai booleanWithDefaultValue;
@Value ("$ {some.key: 42}") private int intWithDefaultValue; 

Ha akarnánk, használhatnánk primitív burkolókat is, a típusok megváltoztatásával Logikai és Egész szám.

4. tömbök

Vesszővel elválasztott értékek listáját is beinjektálhatjuk egy tömbbe:

@Value ("$ {some.key: egy, kettő, három}") privát karakterlánc [] stringArrayWithDefaults; @Value ("$ {some.key: 1,2,3}") private int [] intArrayWithDefaults;

A fenti első példában a „egy", “kettő", éshárom" alapértelmezettként injektálják stringArrayWithDefaults.

A második példában az értékeket 1., 2. és 3. alapértelmezettként injektálják intArrayWithDefaults.

5. A SpEL használata

Kifejezés és alapértelmezés megadásához használhatjuk a Spring Expression Language (SpEL) nyelvet is.

Az alábbi példában azt várjuk néhány.rendszer.kulcs rendszer tulajdonságként kell beállítani, és ha nincs beállítva, akkor a „az alapértelmezett rendszer tulajdonságom ” alapértelmezettként:

@Value ("# {systemProperties ['some.key']?: 'Alapértelmezett rendszer tulajdonságom értéke'}") private String spelWithDefaultValue;

6. Következtetés

Ebben a gyors cikkben megvizsgáltuk, hogyan állíthatunk be alapértelmezett értéket egy ingatlanhoz, amelynek értékét szeretnénk beadni a Spring's @Érték annotáció.

Szokás szerint az ebben a cikkben használt összes kódminta megtalálható a GitHub projektben.