zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    使用jq.lazyload.js,解决设置loading图片的问题
    Write your first jQuery plugin
    如何在Less中使用使用calc
    web页面在ios下不支持fixed可用absolute替代的方案
    JavaScript内存优化
    js监听文本框内容变化
    动态绑定事件on
    CSS秘密花园:多边框
    2020—2021—1学期20202405《网络空间安全导论》第一周学习总结
    2020—2021—1学期20202405《网络空间安全导论》第五周学习总结
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/10349074.html
Copyright © 2011-2022 走看看