前言
我们在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/