gpt4 book ai didi

java - 如何在 SpringBoot 中从属性文件加载嵌套键值对

转载 作者:行者123 更新时间:2023-12-02 13:15:28 26 4
gpt4 key购买 nike

是否有更好的方式来使用 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 中使用嵌套属性文件?

最佳答案

创建一个 Car 对象或具有 modelyear 属性的对象。然后创建类似这样的东西

@ConfigurationProperties("foo")
public class CarProperties {

private Map<String,Car> cars;

// Getters/Setters
}

在主配置类中添加@EnableConfigurationProperties(CarProperties.class)

然后您可以按如下方式注入(inject)该配置:

foo.cars.Fiat.model=pet
foo.cars.Fiat.year=1996
foo.cars.Honda.model=dis
foo.cars.Honda.year=2000

文档中有更多信息。

关于java - 如何在 SpringBoot 中从属性文件加载嵌套键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29850665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com