您好,登录后才能下订单哦!
这篇文章主要介绍怎么在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
以上是“怎么在Spring Boot启动后执行指定代码”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。