Я хочу прочитать значение пароля хранилища ключей spring boot ssl из определенного пользователем Spring bean и установить для свойства SSL server.ssl.key-password.
@Component
public class KeyStorePasswordBean {
public String password() {
//implementation
}
}
Я пробовал с EnvironmentPostProcessor, но исключение NullPointer выбрано из-за KeyStorePasswordBean bean будет инициализирован после EnvironmentPostProcessor
public class PropertyEnvironmentPostProcessor implements EnvironmentPostProcessor {
@Autowired
KeyStorePasswordBean keyStorePasswordBean;
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
String keystorePassword = keyStorePasswordBean.password(); //NullPointerException
System.out.println("password: " + keystorePassword);
}
}
Как это сделать при весенней загрузке? Размышляя о том, как загрузить компонент KeyStorePasswordBean в контекст Spring перед началом инициализации сервера tomcat.
Я использую версию Spring загрузки 2.25 и версию Spring 5.2.4