springboot 编写启动时监听服务

来源:互联网 发布:淘宝店铺怎么投诉 编辑:程序博客网 时间:2024/06/06 18:06



/** * Created by Administrator on 2017/9/5. * @desc 启动时的监听服务 */public class ApplicationStartup implements ApplicationListener<ContextRefreshedEvent> {    private final static Logger log = LogManager.getLogger(ApplicationStartup.class);    @Override    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {        try {            log.debug("ApplicationStartup初始化开始");            ApplicationContext context = contextRefreshedEvent.getApplicationContext();            //redis服务            RedisService redisService =  context.getBean(com.lixy.crm.crm_tsale_kx_service.service.impl.RedisServiceImpl.class);            //字典服务            SysDictionaryInfoService dictionaryInfoService = (SysDictionaryInfoService)context.getBean(com.kuaixin.crm.crm_tsale_kx_service.service.impl.SysDictionaryInfoServiceImpl.class);            //初始化系统字典            Map<String, String> map = dictionaryInfoService.getMapForkeyToValue();            if(map!=null&&map.size()>0)                redisService.setMapValueByMapAndKey(BConstants.SYS_DICTIONARY_KEY_VALUE_MAP, map);            log.debug("ApplicationStartup初始化完成");        } catch (Exception e) {            log.error("服务初始化异常:", e);        }    }}

@Configuration@SpringBootApplication@EnableScheduling@EnableDiscoveryClient@MapperScan("com.lixy.crm.*.mapper")@Mapper@ServletComponentScan// 扫描Servletpublic class App{      public static void main(String[] args) throws Exception {      SpringApplication application = new SpringApplication(App.class);      application.setDefaultProperties(XConfProperty.getProperties());        //添加监听到启动应用      application.addListeners(new            ApplicationStartup());      ApplicationContext context = application.run(args);      SpringContextUtil.setApplicationContext(context);   }}