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