服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - spring boot在启动项目之后执行的实现方法

spring boot在启动项目之后执行的实现方法

2021-01-13 14:51Tomoya Java教程

在开发时有时候需要在整个应用开始运行时执行一些特定代码,比如初始化环境,下面这篇文章就来给大家介绍了关于spring boot在启动项目之后执行自己要执行的东西的实现方法,文中给出了详细的示例代码,需要的朋友可以参考下

前言

我们在web项目启动之后有时候还会做点其它的东西(比如,导入数据脚本),下面就说说spring-boot里怎么在程序启动后加入自己要执行的东西

方法如下:

新建一个类:BeforeStartup.java

?
1
2
3
4
5
6
7
8
9
10
11
12
@Configuration
public class BeforeStartup implements ApplicationListener<ContextRefreshedEvent> {
 
 @Autowired
 private InitDB initDB;
 
 @Override
 public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
  initDB.createUser();
 }
 
}

InitDB.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@Component
public class InitDB {
 
 Logger log = Logger.getLogger(MyInvocationSecurityMetadataSource.class);
 
 @Autowired
 private UserService userService;
 
 // create user
 public void createUser() {
  User user = new User();
  user.setAvatar("aaa");
  user.setBlock(false);
  user.setEmail("aaa");
  user.setInTime(new Date());
  user.setPassword("1111");
  user.setSignature("1111");
  user.setUrl("222");
  user.setUsername("bb");
  userService.save(user);
 }
}

再配合一个变量记录系统是否初始化过,如果初始化了,就不再初始化了,这样就可以做到启动系统之后再自动将默认数据插入,很是方便

相关代码参见:https://github.com/tomoya92/pybbs

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:https://tomoya92.github.io/2017/02/20/spring-boot-startup/

延伸 · 阅读

精彩推荐