Выполнить метод при запуске в Spring - PullRequest
164 голосов
/ 08 марта 2010

Есть ли какая-либо особенность Spring 3 для выполнения некоторых методов при первом запуске приложения? Я знаю, что могу сделать метод установки метода с аннотацией @Scheduled, и он выполняется сразу после запуска, но затем он будет выполняться периодически.

Ответы [ 13 ]

0 голосов
/ 03 февраля 2019

Для файла StartupHousekeeper.java, находящегося в пакете com.app.startup,

Сделайте это в StartupHousekeeper.java:

@Component
public class StartupHousekeeper {

  @EventListener(ContextRefreshedEvent.class)
  public void keepHouse() {
    System.out.println("This prints at startup.");
  }
}

И сделайте это в myDispatcher-servlet.java:

<?xml version="1.0" encoding="UTF-8"?>
<beans>

    <mvc:annotation-driven />
    <context:component-scan base-package="com.app.startup" />

</beans>
0 голосов
/ 29 мая 2018

Вы можете использовать @EventListener в вашем компоненте, который будет вызываться после запуска сервера и инициализации всех компонентов.

@EventListener
public void onApplicationEvent(ContextClosedEvent event) {

}
0 голосов
/ 13 ноября 2015

Если вы хотите настроить bean-компонент до полного запуска приложения, вы можете использовать @Autowired:

@Autowired
private void configureBean(MyBean: bean) {
    bean.setConfiguration(myConfiguration);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...