Я добавляю некоторые системные свойства внутри украшенной @PostConstruct
метод боба, как показано ниже:
@Profile("dev")
@Component
public class DeveloppementPropertySetter {
@PostConstruct
public void setProperty() {
System.setProperty("ip", "X.X.X.X");
System.setProperty("port", "1234");
}
}
И когда я пытаюсь получить эти свойства из другого компонента (в другом классе):
@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-компонент DeveloppementPropertySetter инициализируется до restTemplate? Я не хочу использовать аннотацию @DependsOn.