Встречается на собеседованиях • сегодня
Как выполнить специфичную бизнес-логику на старте приложения в Spring
В Spring есть несколько способов выполнить логику при старте:
- @PostConstruct - метод выполнится после инициализации бина:
java
@Service
public class StartupService {
@PostConstruct
public void init() {
// бизнес-логика
}
}- Реализация ApplicationRunner/CommandLineRunner:
java
@Component
public class AppStartupRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) {
// выполнится после полного поднятия контекста
}
}- События контекста - можно слушать ContextRefreshedEvent:
java
@Component
public class StartupListener {
@EventListener
public void handleContextRefresh(ContextRefreshedEvent event) {
// логика
}
}Важно:
- @PostConstruct выполняется раньше ApplicationRunner
- Для асинхронного выполнения можно добавить @Async
- Обрабатывайте исключения, чтобы не упало всё приложение

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы