SpringBoot在初始化的时候,是可以做预处理的。做预处理的方法有很多,今天学到了一个简单方法。直接一个@PostConstruct 注解就可以搞定。场景如下:
在主程序启动的时候,我需要把一个在数据库中查出来的数据做预处理,放入服务器内存中,以便调用。
首先mapper就不多说了。
@Component
@Slf4j
public class InitCache {
public static List<MarketPage> cachePages=new ArrayList<>();
@Autowired
private MarketPageMapper pageMapper;
@PostConstruct
public void init(){
log.info("初始化,获取前端页面集合");
List<MarketPage> allPage = pageMapper.getAllPage();
if(allPage.isEmpty()){
log.error("初始化前端页面集合失败!!!");
}
cachePages=allPage;
}
}
在方法上加上@PostConstruct 注解,然后通过spring去管理这个类。那么这个方法就会在主程序启动的时候,一起运行。