当前位置: 首页 > 新闻动态 > 软件编程

详解如何在Spring Boot启动后执行指定代码

作者:用户投稿 浏览: 发布日期:2026-01-11
[导读]:这篇文章主要介绍了在Spring Boot启动后执行指定代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

在开发时有时候需要在整个应用开始运行时执行一些特定代码,比如初始化环境,准备测试数据等等。

在Spring中可以通过ApplicationListener来实现相关的功能,不过在配合Spring Boot使用时就稍微有些区别了。

创建ApplicationListener

这里以填充部分测试数据为例子,首先实现ApplicationStartup类。

publicclass ApplicationStartup implements ApplicationListener<ContextRefreshedEvent> {
@Override
publicvoidonApplicationEvent(ContextRefreshedEvent event) {
SourceRepository sourceRepository = event.getApplicationContext().getBean(SourceRepository.class);
Source je =new Source("justice_eternal吧","http://tieba.baidu.com/f?kw=justice_eternal");
sourceRepository.save(je);
}
}

这类并不会自动执行,需要我们注册。

硬编码注册

Spring Boot有一个类SpringApplication,这个类是Spring Boot的入口,包含所有的配置。

 @Configuration

@ComponentScan

@EnableAutoConfiguration

publicclass WebApplication
{

publicstaticvoidmain(String[] args)
{

SpringApplication springApplication=new SpringApplication(WebApplication.class);

springApplication.addListeners(new ApplicationStartup());

springApplication.run(args);

}

}

硬编码的弊端在于无法区别环境,当我们需要部署应用到生产环境时需要修改代码。

配置文件

Spring Boot支持profiles模式,在application.properties中配置

spring.profiles.active=dev

然后在application-dev.properties中配置开发环境的参数。

增加一个配置来注册自定义的监听器

context.listener.classes=cn.acgmo.ApplicationStartup

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

免责声明:转载请注明出处:http://sczxchw.cn/news/365684.html

扫一扫高效沟通

多一份参考总有益处

免费领取网站策划SEO优化策划方案

请填写下方表单,我们会尽快与您联系
感谢您的咨询,我们会尽快给您回复!