一,前言
有时候,我们可能需要在使用一个service或者工具之前,做一些数据的初始化或者对象的初始化。这里介绍一下在开发中常用的三种做法
二,实战
2.1 使用 static 关键字
这个方法是比较普遍的实现方式之一,了解过类加载顺序的朋友都知道,静态属性和静态方法都比实例属性和实例方法先加载,这里就不多介绍了。
2.2 实现 CommandLineRunner 接口
在springboot中,我们可以实现CommandLineRunner接口,重写run()方法。
当springboot程序启动的时候,会自动地执行run方法,我们可以在这个run方法里边进行一些系统数据的初始化,例如:加载字典,设置缓存等等。
具体代码:
@Component
@Slf4j
public class InitCommon implements CommandLineRunner {
@Resource
private DictAspect dictAspect;
@Resource
private BaseYmlProperties baseYmlProperties;
@Override
public void run(String... args) {
log.info(">>>>>>>>>>>>>>> common init start <<<<<<<<<<<<<");
dictAspect.initCache();