我正在Web应用程序中使用Spring 4(不是Spring Boot)。在创建应用程序上下文中的任何bean之前,我需要运行一些初始化代码。我试图创建org.springframework.context.ApplicationContextInitializer
的实现并在spring.factories
中注册它,但由于某种原因而没有被使用。我该怎么办?
答案 0 :(得分:1)
事实证明,实施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>
答案 1 :(得分:0)
这应该有效。如果没有,请发布您的代码。
@Component
public class SampleBootstrap implements ApplicationListener<ContextRefreshedEvent> {
....
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
Do Something();
}
}