首页 > 其他分享 >SpringBoot14(监听机制)

SpringBoot14(监听机制)

时间:2022-11-20 23:34:28浏览次数:50  
标签:void SpringBoot14 System public Override println 机制 监听 out

一、java监听机制(麻烦、繁琐,不推荐)

二、SpringBoot监听机制

三、代码实现

1-包的定义

2-listener代码块

  • 1-MyApplicationContextInitializer
MyApplicationContextInitializer代码块
@Component
public class MyApplicationContextInitializer implements ApplicationContextInitializer {
    @Override
    public void initialize(ConfigurableApplicationContext applicationContext) {
        System.out.println("ApplicationContextInitializer...Run");
    }
}

  • 2-MyApplicationRunListener

MyApplicationRunListener代码块
import org.springframework.boot.ConfigurableBootstrapContext;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringApplicationRunListener;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.stereotype.Component;

import java.time.Duration;


public class MyApplicationRunListener implements SpringApplicationRunListener {
    //根据源码写Controller,没有这个是不可以执行下面的代码的
   //下面的参数"SpringApplication application, String[] args"查看springboot的源码
    public MyApplicationRunListener(SpringApplication application, String[] args) {
    }

    @Override
    public void starting(ConfigurableBootstrapContext bootstrapContext) {
        System.out.println("开始。。。");
    }

    @Override
    public void environmentPrepared(ConfigurableBootstrapContext bootstrapContext, ConfigurableEnvironment environment) {
        System.out.println("环境。。。");
    }

    @Override
    public void contextPrepared(ConfigurableApplicationContext context) {
        System.out.println("对象开始准备");
    }

    @Override
    public void contextLoaded(ConfigurableApplicationContext context) {
        System.out.println("加载ing。。。");
    }

    @Override
    public void started(ConfigurableApplicationContext context, Duration timeTaken) {
        this.started(context);
        System.out.println("上下文对象加载完成。。。");
    }

    @Override
    public void running(ConfigurableApplicationContext context) {
        System.out.println("项目启动完成。。");
    }

    @Override
    public void failed(ConfigurableApplicationContext context, Throwable exception) {
        System.out.println("项目启动失败");
    }
}
  • 3-MyApplicationRunner

MyApplicationRunner代码块
@Component
public class MyApplicationRunner implements ApplicationRunner{

    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("ApplicationRunner...Runner");
        System.out.println(Arrays.asList(args.getSourceArgs()));
    }
}
  • 4-MyCommandLineRunner

MyCommandLineRunner代码块w
@Component
public class MyCommandLineRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("CommandLineRunner...Run");
        System.out.println(Arrays.asList(args));
    }
}

四、最后执行结果

标签:void,SpringBoot14,System,public,Override,println,机制,监听,out
From: https://www.cnblogs.com/chen-zhou1027/p/16910042.html

相关文章

  • 基于close channel广播机制来实现TimingWheel
    代码packagemainimport( "fmt" "sync" "time")typeTimingWheelstruct{ sync.Mutex intervaltime.Duration ticker*time.Ticker quitchanstruct{......
  • java——线程同步机制——解决线程安全问题——Lock锁
    解决线程安全问题——Lock锁解决线程安全问题的三种方案:使用Lock锁java.util.concurrent.locks.Lock接口Lock实现提供了比使用synchronized方法和语句可获得的更广......
  • java——线程同步机制——解决线程安全问题——同步方法
                                                        ......
  • day51(监听器,ajax)
    web监听器第一种监听(1).实现HttpSessionBindingListener接口(2).重写相关方法注意:在哪个类中实现了该接口,就会监听哪个类当这个类对象被设置session中时,会......
  • java——线程同步机制——解决线程安全问题——同步代码块
                                      解决线程安全问题——同步代码块卖票案例出现了线程安......
  • MVC三层架构、Filter、监听器
    MVC三层架构什么是MVC:ModelViewController模型、视图、控制器早些年用户直接访问控制层,控制层就可以直接操作数据库servlet--CRUD--数据库弊端:程序十分臃肿,不......
  • php监听redis key失效触发回调事件
    一、需求分析: 1、设置了生命时间的key,过期的时候能不能提示,能够监听过期的key? 2、怎样用redis实现定时任务? 二、应用场景: 在我们程序中经常会有需要定时执行的程序,比如......
  • Qt基础之四:Qt信号与槽机制原理及优缺点
    信号和插槽用于对象之间的通信。信号和槽机制是Qt的核心特性,可能也是与其他框架提供的特性最大不同的部分。Qt的元对象系统使信号和槽成为可能。一.简介在GUI编程中,当我们改......
  • Android 详解广播机制
    Android详解广播机制广播的种类静态广播和动态广播接受系统广播extendsBroadcastReceiver{}onReceive(Contextcontext,Intentintent)onReceive方法中用来处......
  • IIC总线的仲裁机制
    转:https://blog.csdn.net/lpwsw/article/details/121778724先说结论:遵循3个机制“线与”机制。多主机时,总线具有“线与”的逻辑功能,即只要有一个节点发送低电平时,总线......