有没有一种方法可以给yaml文件指定位置,因为@ConfigurationProperties中的位置已在1.5版中删除

时间:2019-04-15 12:45:35

标签: spring-boot

如何在组件类中使用在各种YAML文件中定义的属性??

在以前使用@ConfigurationProperties(locations =“ classpath:abc / somelocation.yml”)完成此操作之前,现在已删除了该属性。在版本1.5中,另一种定义的方法是什么?

我尝试使用@PropertySource并在其中定义类路径,但对我不起作用。 我不明白spring.config.location的概念

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource("classpath:applicationConstants.properties")
@ConfigurationProperties("constant")
public class ReadApplicationConstants {

    private String clientId;

    public String getClientId() {
        return clientId;
    }

    public void setClientId(String clientId) {
        this.clientId = clientId;
    }

}

因此,在任何方法中使用getClientId时,我都会得到空指针异常。

1 个答案:

答案 0 :(得分:0)

如果clientId来自属性文件,则必须使用     字段上的@Value批注。 示例:

    @Value(value = "${clientId}")