作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有更好的方式来使用 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
对象或具有 model
和 year
属性的对象。然后创建类似这样的东西
@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/
我是一名优秀的程序员,十分优秀!