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);
}
}
springboot 容器启动事件的更多相关文章
- springboot容器启动顺序之@Configuration ContextRefreshedEvent事件初始化 ApplicationRunner
笔者最近遇到一个问题 我们根据自己业务需要 需要首次启动springboot项目时 把数据库数据同步至本地缓存(比如ehcache)但有一个要求 在缓存未载入成功 不允许有流量打入 一开始我们使用 ...
- spring boot容器启动详解
目录 一.前言 二.容器启动 三.总结 =======正文分割线====== 一.前言 spring cloud大行其道的当下,如果不了解基本原理那么是很纠结的(看见的都是约定大于配置,但是原理呢?为 ...
- springboot web - 启动(2) run()
接上一篇 在创建 SpringApplication 之后, 调用了 run() 方法. public ConfigurableApplicationContext run(String... arg ...
- 【玩转SpringBoot】通过事件机制参与SpringBoot应用的启动过程
生命周期和事件监听 一个应用的启动过程和关闭过程是归属到“生命周期”这个概念的范畴. 典型的设计是在启动和关闭过程中会触发一系列的“事件”,我们只要监听这些事件,就能参与到这个过程中来. 要想监听事件 ...
- springboot(八) 嵌入式Servlet容器自动配置原理和容器启动原理
1.嵌入式Servlet容器自动配置原理 1.1 在spring-boot-autoconfigure-1.5.9.RELEASE.jar => springboot自动配置依赖 jar包下,E ...
- springboot之启动原理解析
前言 SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏.所以这次博主就跟你们一起一步步揭开SpringBoot的神秘面 ...
- 深入理解SpringBoot之启动探究
SpringApplication是SpringBoot的启动程序,我们通过它的run方法可以快速启动一个SpringBoot应用.可是这里面到底发生了什么?它是处于什么样的机制简化我们程序启动的?接 ...
- SpringBoot一站式启动流程源码分析
一.前言 由上篇文章我们得知,SpringBoot启动时,就是有很简单的一行代码.那我们可以很清楚的看到这行代码的主角便是SpringApplication了,本文我们就来聊一聊这货,来探寻Sprin ...
- springboot之启动原理解析及源码阅读
前言 SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏.所以这次博主就跟你们一起一步步揭开SpringBoot的神秘面 ...
随机推荐
- eclipse Mars4.5.2安装fatjar
试了在eclipse下添加plugins的方法,但是并没有生效 最后看了一篇博客@参考博客 原文转载: 首先声明,eclipse luna 和mars 楼主亲测可用. .安装Eclipse2.0版本的 ...
- day 05 字典,字典嵌套
字典: 1.列表如果存储大量数据,查询速度相对慢一些 2.列表存储的数据,一般没有什么关联性 针对以上原因,python提供了一个基础数据类型,dict 字典 数据类型的分类 : 容器型数据类型:li ...
- Java01-Java基本概念及JDK安装
Java是由sun公司于1995年5月推出的Java程序设计语言和Java平台的总称. Java是一个完整的平台,不仅提供了优秀的编程语言,而且还提供了大量的可重用代码以及一个能提供安全性.可移植性. ...
- spring boot 访问项目时加项目名称
pringboot 项目一般直接地址加端口就可以访问了,不像放在tomcat里面还需要加上项目名. 现在,想访问的时候加上项目名用来区分,只要在配置文件里面加上 server.context-path ...
- BOM DOM jQuery
. BOM . location相关 . location.href . location.href="http://www.sogo.com" . location.reload ...
- JAVA课堂动手动脑实验--方法的重载定义,组合数的递归算法
1. 请看以下代码,你发现了有什么特殊之处吗? 答:此程序中的两个方法虽然方法名一样,但是参数的数据类型不同: 这是方法的重载,方法的重载需要满足的条件: 1)方法名相同: 2)参数类型不同,参数个数 ...
- Linux pip安装使用详解
简介 pip是Python有它自己的包管理工具,与yum和apt-get相似. 安装步骤: 1.下载get-pip.py:https://bootstrap.pypa.io/get-pip.py 2. ...
- Android开发之动态设置字体的样式和粗细
字体设置通常有两种形式: 1:在xml中直接设置 android:textStyle="bold" android:typeface="sans" 2:用jav ...
- C++中stl的map
总结: 在map中插入数据有三种方法: 1.用insert插入pair数据: mapstudent.insert(pair<int,string>(1,"studentone&q ...
- PAT 甲级 1011 World Cup Betting (20)(代码+思路)
1011 World Cup Betting (20)(20 分) With the 2010 FIFA World Cup running, football fans the world over ...