繁体   English   中英

Spring Boot - 从 YML 文件中为类成员赋值 - 空指针异常

[英]Spring Boot - Assign value to Class Member from YML file - Null Pointer Exception

我在我的配置类中使用以下注释从属性文件(yml)中获取值。 配置 EnableConfigurationProperties ConfigurationProperties(前缀 =“通知”)

我能够使用 class 毫无问题地获取公共方法中的值。 但是,当我尝试使用 config 类分配类的值实例变量时,出现“错误创建 bean”错误。

下面是我的代码。 有人可以扔一些灯吗。

这是我的配置类

@Configuration
@EnableConfigurationProperties
@ConfigurationProperties (prefix = "notification")
public class NotifyYaml {

private String subscriptionId;

public String getSubscriptionId() {
    return subscriptionId;
}

public void setSubscriptionId(String subscriptionId) {
    this.subscriptionId = subscriptionId;
}

下面是我在启动过程中遇到错误的类。

@Component
public class PubSubController {

    @Autowired
    private NotifyYaml notify;

    public PubSubController() {
        // TODO Auto-generated constructor stub
    }

String projectId = "ccc-g-pre-proj-cacdate";
    //Error in this line
    String subscriptionId = notify.getSubscriptionId();

@Autowired对象仅在创建对象填充。

这意味着在创建对象时,它会尝试从null对象调用方法。

我建议使用类似@PostConstruct方法。 (注意:您需要以某种方式将javax.annotations包含到您的项目中。)

String subscriptions; // remove the value for now...

@PostConstruct
private void init() {
    subscriptions = notify.getSubscriptionId(); // ...and add it back in here.
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM