![](/img/trans.png)
[英]How do I load nested key value pairs from a properties file into a Java object using Spring?
[英]How to load nested key value pairs from a properties file in SpringBoot
是否有更好的方法使用Spring / Spring Boot實現將鍵值對作為值的屬性文件? 我想創建一個屬性文件,其中的鍵包含一對鍵值對作為值。
我嘗試了以下實現:-
屬性文件:
Fiat=model:pet,year:1996
Honda=model:dis,year:2000
我有下面的類試圖讀取屬性文件。
@Component
@PropertySources(@PropertySource("classpath:sample.properties"))
public class PropertiesExtractor {
@Autowired
private Environment env;
public String pullValue(String node) {
String value = env.getProperty(node);
System.out.println(value);//for Fiat, i get syso as **model:pet,year:1996**
}
}
我需要使用java解析值,以獲得單個值。 這是實現此目標的唯一出路。
有沒有更好的方法在Java中使用嵌套屬性文件?
使用model
和year
屬性創建Car
對象或其他東西。 然后創建這樣的東西
@ConfigurationProperties("foo")
public class CarProperties {
private Map<String,Car> cars;
// Getters/Setters
}
在主配置類中添加添加@EnableConfigurationProperties(CarProperties.class)
。
然后,您可以按如下方式注入該配置:
foo.cars.Fiat.model=pet
foo.cars.Fiat.year=1996
foo.cars.Honda.model=dis
foo.cars.Honda.year=2000
在文檔中有更多信息。
您還可以將yaml文件與spring一起使用:
這樣,您可以與
Fiat:
model: pet
year: 1996
Honda:
model: dis
year: 2000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.