几个重要的事件回调机制

配置在META-INF/spring.factories ApplicationContextInitializer

SpringApplicationRunListener

只需要放在ioc容器中的两个ApplicationRunner CommandLineRunner

启动流程:

一、创SpringApplication对象

二、运行run方法

三、事件监听机制

配置在META-INF/spring.factories

ApplicationContextInitializer

public  class  HelloApplicationContextInitializer  implements ApplicationContextInitializer<ConfigurableApplicationContext>  {
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
   System.out.println("ApplicationContextInitializer...initialize..."+applicationContext);
}
}

SpringApplicationRunListener

public  class  HelloSpringApplicationRunListener  implements  SpringApplicationRunListener  {

//必须有的构造器
public HelloSpringApplicationRunListener(SpringApplication application, String[] args){ } @Override
public void starting() {
System.out.println("SpringApplicationRunListener...starting...");
} @Override
public void environmentPrepared(ConfigurableEnvironment environment) {
Object o = environment.getSystemProperties().get("os.name");
System.out.println("SpringApplicationRunListener...environmentPrepared.."+o);
} @Override
public void contextPrepared(ConfigurableApplicationContext context) {
System.out.println("SpringApplicationRunListener...contextPrepared...");
} @Override
public void contextLoaded(ConfigurableApplicationContext context) {
System.out.println("SpringApplicationRunListener...contextLoaded...");
} @Override
public void finished(ConfigurableApplicationContext context, Throwable exception)

配置(META-INF/spring.factories)

org.springframework.context.ApplicationContextInitializer=\
com.atguigu.springboot.listener.HelloApplicationContextInitializer

 org.springframework.boot.SpringApplicationRunListener=\

 com.atguigu.springboot.listener.HelloSpringApplicationRunListener

只需要放在ioc容器中

ApplicationRunner

@Component
public class HelloApplicationRunner implements ApplicationRunner{
@Override
public void run(ApplicationArguments args) throws Exception {
System.out.println("ApplicationRunner...run....");
} }

CommandLineRunner

@Component
public class HelloCommandLineRunner implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("CommandLineRunner...run..."+ Arrays.asList(args));
} }

最新文章

  1. jemalloc在linux上从安装到使用
  2. Java学习笔记 07 接口、继承与多态
  3. 摘:JavaScript性能优化小知识总结
  4. 向量时钟算法简介——本质类似MVCC
  5. MySQL 高效分页
  6. linux下遍历目录(转-在于思考)
  7. LVM---动态调整磁盘容量
  8. 关于 ASP.NET vNext
  9. 进军es6(2)---解构赋值
  10. 更改linux系统时间
  11. Getting Text Metrics in Firemonkey(delphiscience的博客)
  12. JavaScript--我发现,原来你是这样的JS(基础概念--躯壳,不妨从中文角度看js)
  13. 微信小程序半周问题总结
  14. 关于空想X
  15. Linux 安装 ffmpeg
  16. Java语法基础学习DayNineteen(反射机制)
  17. Python解析HDF文件 分类: Python 2015-06-25 00:16 743人阅读 评论(0) 收藏
  18. ProxySQL 配置详解及读写分离(+GTID)等功能说明 (完整篇)
  19. [转帖]简析数据中心三大Overlay技术
  20. java_11接口

热门文章

  1. ffmpeg摄像头推流
  2. 【Win32 API】远程工具调用
  3. web开发中会话跟踪的方法有哪些
  4. java网络通信:同步阻塞式I/O模型(BIO)
  5. MYSQL5.7源码包编译安装
  6. django项目部署过程
  7. C 语言中的关键字 - 数据类型、数据修饰符及逻辑结构
  8. R-CNN, Fast R-CNN, Faster R-CNN, Mask R-CNN
  9. jQuery 获取设置图片 src 的路径
  10. Mybatis-学习笔记(N)mybatis-generator 生成DAO、Mapper、entity