资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

springboot关于容器启动事件总结

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

成都创新互联成立于2013年,先为香洲等服务建站,香洲等地企业,进行企业商务咨询服务。为香洲企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

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

在容器启动开始时:

package com.neo.filter;

import org.springframework.boot.context.event.ApplicationStartingEvent;
import org.springframework.context.ApplicationListener;

public class ApplicationStartingEventListener implements ApplicationListener {
  @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,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);
  }
}

以上就是关于springboot容器启动事件的相关知识点以及实例代码,感谢大家对创新互联的支持。


网站栏目:springboot关于容器启动事件总结
浏览路径:http://cdkjz.cn/article/jssoje.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220