• SpringBoot几个重要的事件回调、监听机制


    (1)、需要配置在META-INF/Spring.factories

      1.ApplicationContextInitializer

     1 //
     2 // Source code recreated from a .class file by IntelliJ IDEA
     3 // (powered by Fernflower decompiler)
     4 //
     5 
     6 package org.springframework.context;
     7 
     8 public interface ApplicationContextInitializer<C extends ConfigurableApplicationContext> {
     9     //监听ioc容器启动
    10     void initialize(C var1);
    11 }

      2.SpringApplicationRunListener 

     1 //
     2 // Source code recreated from a .class file by IntelliJ IDEA
     3 // (powered by Fernflower decompiler)
     4 //
     5 
     6 package org.springframework.boot;
     7 
     8 import org.springframework.context.ConfigurableApplicationContext;
     9 import org.springframework.core.env.ConfigurableEnvironment;
    10 
    11 public interface SpringApplicationRunListener {
    12     //监听容器开始
    13     void starting();
    14     //SpringBoot环境准备好
    15     void environmentPrepared(ConfigurableEnvironment environment);
    16     //ioc容器准备好了
    17     void contextPrepared(ConfigurableApplicationContext context);
    18     //容器环境加载完成
    19     void contextLoaded(ConfigurableApplicationContext context);
    20 
    21     void started(ConfigurableApplicationContext context);
    22 
    23     void running(ConfigurableApplicationContext context);
    24     //SpringBoot创建完成
    25     void failed(ConfigurableApplicationContext context, Throwable exception);
    26 }

    (2)、只需要放到ioc容器中即可

      1.ApplicationRunner 

     1 //
     2 // Source code recreated from a .class file by IntelliJ IDEA
     3 // (powered by Fernflower decompiler)
     4 //
     5 
     6 package org.springframework.boot;
     7 
     8 @FunctionalInterface
     9 public interface ApplicationRunner {
    10     void run(ApplicationArguments args) throws Exception;
    11 }

      2.CommandLineRunner 

     1 //
     2 // Source code recreated from a .class file by IntelliJ IDEA
     3 // (powered by Fernflower decompiler)
     4 //
     5 
     6 package org.springframework.boot;
     7 
     8 @FunctionalInterface
     9 public interface CommandLineRunner {
    10     void run(String... args) throws Exception;
    11 }
  • 相关阅读:
    Vue 入门. 如何在HTML代码里面快速使用Vue
    CSS3 神器总结
    《JavaScript高级程序设计(第3版)》阅读总结记录第二章之在HTML中使用JavaScript
    《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
    简单轮播的实现
    怎么作好一个领导者?什么是团队?怎么当好一个组员?
    谈BFC和haslayout
    JavaScript 数组
    ubuntu配置android开发环境和编译源码遇到的一些问题
    C语言文件操作函数大全
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/10349074.html
Copyright © 2020-2023  润新知