Я хочу инициализировать некоторую бизнес-логику (например, отправить несколько сообщений посреднику сообщений) в приложении Spring Boot после создания контекста и инициализации bean-компонентов (синглетонов) - какое для него «наиболее правильное» место?
С моей точки зрения, кандидаты:
- Реализация
ApplicationListener
+ прослушивание ContextStartedEvent
ApplicationRunner
ИЛИ CommandLineRunner
* run()
метод @PostConstruct
конкретного компонента (я не использую этот метод, но иногда встречался в коде коллег - потому что мне нужно убедиться, что все компоненты созданы, инициализированы, настроены, настроены и т. д. и я не хочу играть с порядком загрузки бинов)
Я понимаю, что в общем случае в веб-приложении MVC место для бизнес-логики - @Service
, но мне нужно вызвать его сразу посленачало моего приложения, так каков наилучший способ сделать это?