1.在servletcontext设置系统属性
/**
* 在ServletContext里存放部分数据
* @return
*/
@Bean
public ServletContextInitializer initializer() {
return new ServletContextInitializer() {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
servletContext.setAttribute("jsVer", "1.0");
}
};
}
2.在启动完成,applicationContext完成后,实现CommandLineRunner接口
@Component
//@Order(value=1)//有多个CommandLineRunner接口时可以指定执行顺序(小的先执行)
public class DataInitConfig implements CommandLineRunner {//CommandLineRunner表示在所有的bean以及applicationCOntenxt完成后的操作
@Autowired
ConfigRepository configRepository;
@Autowired
CacheService cacheService;
@Override
public void run(String... args) throws Exception {
System.err.println("执行数据初始化操作......");
//将config数据。。放置redis
List<Config> configs = configRepository.findAll();
if(configs != null && !configs.isEmpty()){
for(Config config : configs){
String key = Constant.CONFIG_PREFIX+config.getKey();
String val = config.getValue();
cacheService.set(key, val);
}
}
}
}