[英]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.