Назад к вопросам
СБЕР Корпус
Junior — Middle
63
Каким образом реализовать проверку наличия обязательных параметров, таких как логин, пароль и URL, в файле application.properties, чтобы стартер не запускался при их отсутствии?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для проверки наличия обязательных параметров в application.properties и предотвращения запуска стартера при их отсутствии, можно использовать аннотацию @ConfigurationProperties вместе с валидацией, либо проверять параметры вручную в конфигурационном классе.
Пример с использованием @ConfigurationProperties и валидации:
@ConfigurationProperties(prefix = "app")
@Validated
public class AppProperties {
@NotBlank
private String login;
@NotBlank
private String password;
@NotBlank
private String url;
// геттеры и сеттеры
}
И в конфигурации:
@Configuration
@EnableConfigurationProperties(AppProperties.class)
public class AppConfig {
@Bean
public SomeStarter someStarter(AppProperties props) {
// если параметры невалидны, приложение не запустится
return new SomeStarter(props.getLogin(), props.getPassword(), props.getUrl());
}
}
Если параметры отсутствуют или пусты, Spring выбросит исключение при валидации, и стартер не запустится.
Альтернативно, можно вручную проверить параметры в методе @PostConstruct и выбросить исключение, если что-то отсутствует:
@PostConstruct
public void validate() {
if (login == null || login.isEmpty() || password == null || password.isEmpty() || url == null || url.isEmpty()) {
throw new IllegalStateException("Обязательные параметры не заданы");
}
}