İlkbaharda @Value açıklamalarını kullanarak özellikler dosyasındaki bir Haritaya değerleri nasıl enjekte edebilirim?@Value Spring Annotation kullanarak bir harita nasıl enjekte edilir?
Benim Bahar Java sınıfı ve ben $ kullanılarak çalıştı ama, aşağıdaki hata iletisini
varalan autowire Could : Özel java.util.Map Test.standard; İç içe istisna java.lang.IllegalArgumentException geçerli: yer tutucu dize değeri 'com.test.standard' "$ {com.test.standard}" çözülemedi
@ConfigurationProperty("com.hello.foo")
public class Test {
@Value("${com.test.standard}")
private Map<String,Pattern> standard = new LinkedHashMap<String,Pattern>
private String enabled;
}
Ben aşağıdaki özelliklere sahiptir. özellikleri Sen @Resource
ek açıklama kullanarak sınıfta bir harita olarak .properties
enjekte edebilir
com.test.standard.name1=Pattern1
com.test.standard.name2=Pattern2
com.test.standard.name3=Pattern3
com.hello.foo.enabled=true
Yay ifade dilini kullanmanız gerekir. Kullanılan listenin benzeri bir soru (https://stackoverflow.com/questions/27390363/spring-how-to-inject-an-inline-list-of-strings-using-value-annotation). Kutunun dışında istediğini yapabileceğinden emin değilim. Bu soru https: // stackoverflow.com/questions/28369458/nasıl-doldurma-hashmap-from-java-özellik-dosya-ile-bahar-değeri sizin noktanız biraz daha fazla. Özel özellik eşleyicisi kullanır –
Haritanızda tam olarak ne istiyorsunuz? Görünüşe göre bir "Pattern" türünde bir tür konuşmayı bekliyorsunuz? Bu ne tür bir 'Desen' sınıfı? –
@Erlandsson bu bir RegEx modelidir, geçerli regex desen dizelerini – yathirigan