如何在我启动spring boot的时候执行类中的方法

如何在我启动spring boot的时候执行MyApplicationContextInitializer(继承至ApplicationContextInitializer)和DataSourcesBeanFactoryPostProcessor(继承至BeanDefinitionRegistryPostProcessor)类中的initialize方法和postProcessBeanDefinitionRegistry方法

阅读 14.5k
3 个回答

可以通过监听一些事件,文档地址

比如说我要在Spring boot启动完成后执行一些方法,那么可以这样:

@Component
public class Listener implements ApplicationListener<ApplicationReadyEvent> {

    @Override
    public void onApplicationEvent(final ApplicationReadyEvent event) {
        //do something...
    }

}

在你的classpath下添加META-INF/spring.factories这个文件,内容如下:

org.springframework.context.ApplicationContextInitializer=package.path.to.your.MyApplicationContextInitializer

实际上你在spring boot源代码里可以找到spring.factories这个文件,照着例子抄一个就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题