zoukankan      html  css  js  c++  java
  • springboot 容器启动事件

    在springboot 容器启动时,我们需要在启动过程中做一些操作,比如启动容器后,执行某些代码。

    spring 提供了监听器,我们可以方便的实现这些操作。

    在容器启动开始时:

    package com.neo.filter;
    
    import org.springframework.boot.context.event.ApplicationStartingEvent;
    import org.springframework.context.ApplicationListener;
    
    public class ApplicationStartingEventListener implements ApplicationListener<ApplicationStartingEvent> {
        @Override
        public void onApplicationEvent(ApplicationStartingEvent arg0) {
            System.err.println("ApplicationStartingEventListener");
        }
    
    }

    在容器启动完成后执行操作:

    package com.neo.filter;
    
    import org.springframework.boot.context.event.ApplicationStartedEvent;
    import org.springframework.context.ApplicationListener;
    import org.springframework.core.Ordered;
    
    public class ApplicationStartedEventListener implements ApplicationListener<ApplicationStartedEvent>,Ordered {
    
        @Override
        public void onApplicationEvent(ApplicationStartedEvent ev) {
            System.out.println("ApplicationStartedEventListener1");
        }
        @Override
        public int getOrder() {
            return 1;
        }
    
    }

    如果需要有顺序执行,我们可以实现Ordered接口,只越小,越先执行。

    package com;
    
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    import com.neo.filter.ApplicationStartedEventListener;
    import com.neo.filter.ApplicationStartedEventListener2;
    import com.neo.filter.ApplicationStartingEventListener;
    
    @SpringBootApplication
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication app=new SpringApplication(DemoApplication.class);
            app.addListeners(new ApplicationStartedEventListener());
            app.addListeners(new ApplicationStartingEventListener());
            app.addListeners(new ApplicationStartedEventListener2());
            app.run(args);
        }
    }
  • 相关阅读:
    Visual Studio LightSwitch
    Android 虚拟机与真机调试配置
    点击手机 menu 硬件按钮后的显示及处理
    Windows Phone 7 真机调试
    Android 调试
    Android 新建项目 页面
    今天我的Windows Phone 7 HTC HD7 手机 升级 NoDo 了 分享一下经验
    Activity 之间调用与参数传递
    Android widget 组件
    解决 warning: found plain 'id' attribute; did you mean the new 'android:id' name? 问题
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/9787998.html
Copyright © 2011-2022 走看看