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);
        }
    }
  • 相关阅读:
    Node.js 基础介绍
    你所不知道该如何回答的面试题(一)
    深浅拷贝
    CSRF攻击:陌生链接不要随便点
    跨站脚本攻击(XSS)
    同源策略:为什么XMLHttpRequest不能跨域请求资源?
    HTTP/2:如何提升网络速度
    HTTP/1:HTTP性能优化
    WebComponent:像搭积木一样构建Web应用
    winform 保存文件 打开文件 选择文件 字体样式颜色(流 using System.IO;)
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/9787998.html
Copyright © 2011-2022 走看看