Spring 4: запустить некоторый код инициализации перед обновлением контекста приложения - PullRequest
0 голосов
/ 27 июня 2018

Я использую Spring 4 (не Spring Boot) в веб-приложении. Мне нужно выполнить некоторый код инициализации, прежде чем будет создан какой-либо bean-компонент в контексте приложения. Я пытался создать реализацию org.springframework.context.ApplicationContextInitializer и зарегистрировать ее в spring.factories, но по какой-то причине не был подхвачен. Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Как оказалось, реализация org.springframework.context.ApplicationContextInitializer была верным путем. Поскольку в моем проекте я не использую Spring MVC, реализация этого инициализатора должна быть зарегистрирована в web.xml вместо spring.factories . Вот пример:

<context-param>
    <param-name>contextInitializerClasses</param-name>
    <param-value>my.company.MyContextInitializer</param-value>
</context-param>
0 голосов
/ 27 июня 2018

Это должно работать. Если нет, пожалуйста, оставьте свой код.

@Component
public class SampleBootstrap implements ApplicationListener<ContextRefreshedEvent> {

    ....

    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        Do Something();
    }
}
...