我们可以发现若依启动时执行了一些sql

我们可以安装一个插件mybatis log free 来更好的进行sql查看 ,安装后需要修改一下若依的日志配置如下

查看日志,我们发现执行了三个方法(),分别查询了一些数据。

以第二个方法为例子,我们发现了这个注解@PostConstruct

Spring Boot:@PostConstruct虽好,也要慎用

如果应用有一些初始化操作,有以下几点建议:
轻量的逻辑可放在Bean的 @PostConstruct方法中
耗时长的逻辑如果放在 @PostConstruct方法中,可使用独立线程执行
初始化操作放在CommandLineRunner或ApplicationRunner的实现组件中

这里说初始化了缓存,我们打开redis,发现了这个,发现前两个方法都是初始化缓存到redis

  1. loadingDictCache()

我们可以简单分析一下这个方法

逻辑比较简单,就是先查询出sys_dict_data的所有数据 然后使用stream()流 group by进行分组,以类dict_type为key,分组后的数据为value,然后放到redis当中

注意这里使用的DictUtils工具类所在模块不在springboot环境下,因此获取redis的bean时使用了SpringUtils工具类来获取

  1. loadingConfigCache()

这个比较简单,只是查询然后把数据放到了redis

3.那么,第三个方法呢?其实就是定时器的初始化。

4.除此之外,项目启动时还做了一件事:详情

若依框架解读(前后端分离版)—— 1.Spring Security相关配置(@Anonymous注解)

还有加载了许多的配置类

Logo

快速构建 Web 应用程序

更多推荐