我们在启动项目的时候都需要在初始化的时候就加载一些方法,比如缓存的初始化、各类第三方接口初始化,那么我们可以用到以下2种方法
1、使用 @PostConstruct 注解,@PostConstruct是spring框架的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法,使用方式:
/**
* 功能说明:启动项目初始化
*/
@PostConstruct
public void SynDictionary() {
System.out.print("初始化完成..");
}
2、实现
ApplicationListener<ContextRefreshedEvent>接口 并且重写
onApplicationEvent(ContextRefreshedEvent event)
方法,当Spring的容器(bean)加载完之后会自动调用 onApplicationEvent(ContextRefreshedEvent event) 方法;
/**
* <P>系统参数 初始化</P>
*
* @version 1.0
*/
public class InitSystemParamService extends BaseService implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
System.out.print("初始化当前方法前,Spring中的容器已加载完成");
}
}
总结:两种方法大家可自行斟酌使用, 个人建议如下:
a、如果是初始化系统参数中需要用到其他的服务或者容器(bean),建议使用第二种方法,否则使用第一种