SpringBoot的基本数据初始化

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 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);
            }
        }
    }
}

你可能感兴趣的:(Spring,Boot)