朋也的博客 » 首页 » 文章

spring-boot启动项目之后操作的实现方法

作者:朋也
日期:2017-02-20
类别:spring-boot学习笔记 


版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证

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/atjiu/pybbs