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

前言

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

方法如下:

新建一个类:BeforeStartup.java

@Configuration
public class BeforeStartup implements ApplicationListener<ContextRefreshedEvent> {

 @Autowired
 private InitDB initDB;

 @Override
 public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
  initDB.createUser();
 }

}

InitDB.java

@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

总结

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

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。