【发布时间】:2019-04-30 14:38:28
【问题描述】:
我在 @PostConstruct 装饰中添加了一些系统属性 如下所示的 bean 方法:
@Profile("dev")
@Component
public class DeveloppementPropertySetter {
@PostConstruct
public void setProperty() {
System.setProperty("ip", "X.X.X.X");
System.setProperty("port", "1234");
}
}
当我尝试从另一个 bean(在另一个类中)获取这些属性时:
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
String ip = System.getProperty("ip");
String port = System.getProperty("port");
(... using port and ip to customize the builder ...)
}
我得到 NullPointerException 并且 spring 无法实例化 restTemplate bean。如何确保 bean DeveloppementPropertySetter 在 before restTemplate 之前被初始化?我不想使用@DependsOn 注释。
【问题讨论】:
标签: spring-boot system-properties