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

网友投稿 300 2023-01-29


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

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

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

创建ApplicationListener

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

publicclass ApplicationStartup implements ApplicationListener {

@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(WrAoCtFje);

}

}

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

硬编码注册

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);

}

}

WrAoCtF

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

配置文件

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

spring.profiles.active=dev

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

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

context.listener.classes=cn.acgmo.ApplicationStartup


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:共享文件系统软件(共享文件夹 软件)
下一篇:详解vue组件开发脚手架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~