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.