Встречается на собеседованиях • сегодня
Как выполнить специфичную бизнес-логику на старте приложения после формирования ApplicationContext в Spring
В Spring можно использовать несколько способов:
1. **@PostConstruct** - аннотация для метода бина, который выполнится после его инициализации:
```java
@Service
public class StartupService {
@PostConstruct
public void init() {
// бизнес-логика
}
}
```
2. **ApplicationListener** - обработчик события завершения инициализации контекста:
```java
@Component
public class StartupListener implements ApplicationListener {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
// логика после полной инициализации контекста
}
}
```
3. **CommandLineRunner/ApplicationRunner** - интерфейсы для выполнения кода после старта приложения:
```java
@Bean
public CommandLineRunner runner() {
return args -> {
// бизнес-логика
};
}
```
Выбор зависит от требований: @PostConstruct - для бина, ApplicationListener - для полного контекста, Runner - для аргументов командной строки.

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