我们知道,一般来说一个项目启动时需要加载或者执行一些特殊的任务来初始化系统,通常的做法就是用servlet去初始化,但是servlet在使用spring bean时不能直接注入,还需要在web.xml配置,比较麻烦。今天介绍一下使用spring启动初始化的方法。其实很简单,只需两步就可以了。
- 实现ApplicationListener接口:
public class Init implements ApplicationListener<ContextRefreshedEvent>{ @Override public void onApplicationEvent(ContextRefreshedEvent event) { if(event.getApplicationContext().getParent() == null){//root application context 没有parent //TODO 这里写下将要初始化的内容 } } }
- 在spring applicationContex.xml中配置该bean
<bean class="com.xx.xxx.Init"/>
这样服务启动时,就会自动加载并执行了。