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

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

当前题目:springboot关于容器启动事件总结
文章源于:https://www.cdcxhl.com/article24/jssoje.html

成都网站建设公司_创新互联,为您提供云服务器网站制作建站公司关键词优化移动网站建设标签优化

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管