zoukankan      html  css  js  c++  java
  • Spring Boot 启动过程及 自定义 Listener等组件

    一、启动过程


    二、自定义组件


    package com.example.jdbc.listener;
    import org.springframework.context.ApplicationContextInitializer;
    import org.springframework.context.ConfigurableApplicationContext;
    
    public class HelloApplicationContextInitiallizer implements ApplicationContextInitializer {
        @Override
        public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
            System.out.println("HelloApplicationContextInitiallizer.initialize");
        }
    }
    package com.example.jdbc.listener;
    
    import org.springframework.boot.SpringApplicationRunListener;
    import org.springframework.context.ConfigurableApplicationContext;
    import org.springframework.core.env.ConfigurableEnvironment;
    
    public class HelloSpringApplicationRunListener implements SpringApplicationRunListener {
    
        @Override
        public void environmentPrepared(ConfigurableEnvironment environment) {
            System.out.println("HelloSpringApplicationRunListener...environmentPrepared...");
        }
    
        @Override
        public void contextPrepared(ConfigurableApplicationContext context) {
            System.out.println("HelloSpringApplicationRunListener.contextPrepared");
        }
    
        @Override
        public void contextLoaded(ConfigurableApplicationContext context) {
            System.out.println("HelloSpringApplicationRunListener.contextLoaded");
        }
    
        @Override
        public void started(ConfigurableApplicationContext context) {
            System.out.println("HelloSpringApplicationRunListener.started");
        }
    
        @Override
        public void running(ConfigurableApplicationContext context) {
            System.out.println("HelloSpringApplicationRunListener.running");
        }
    
        @Override
        public void failed(ConfigurableApplicationContext context, Throwable exception) {
            System.out.println("HelloSpringApplicationRunListener.failed");
        }
    
        @Override
        public void starting() {
            System.out.println("HelloSpringApplicationRunListener.starting");
        }
    }

    /src/main/resources/META-INF/spring.factories

    org.springframework.context.ApplicationContextInitializer=
    com.example.jdbc.listener.HelloApplicationContextInitiallizer
    
    org.springframework.context.ApplicationListener=
    com.example.jdbc.listener.HelloSpringApplicationRunListener

    以上两个组件在项目启动过程中未能够成功执行,待解

    以下两个组件成功加载并在项目启东时执行


    package com.example.jdbc.listener;
    
    import org.springframework.boot.ApplicationArguments;
    import org.springframework.boot.ApplicationRunner;
    import org.springframework.stereotype.Component;
    
    @Component
    public class HelloApplicationRunner implements ApplicationRunner {
    
        @Override
        public void run(ApplicationArguments args) throws Exception {
            System.out.println("HelloApplicationRunner.run");
        }
    }
    package com.example.jdbc.listener;
    
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.stereotype.Component;
    import java.util.Arrays;
    
    @Component
    public class HelloCommandLineRunner implements CommandLineRunner {
        @Override
        public void run(String... args) throws Exception {
            System.out.println("HelloCommandLineRunner.run" + Arrays.asList(args));
        }
    }
  • 相关阅读:
    linux下安装mysql
    简单理解:使用linux的ip地址访问Java项目
    上传项目到github完整步骤及如何删除项目
    解决service iptables save出错please try to use systemctl.
    PCI1255信号采集板卡的干扰来源和解决办法
    L298N驱动的再利用
    千里狼-高速采集相机试用记录
    调试研华PCI1245E记录
    超大型的迷宫
    labview实现模拟python微信模块
  • 原文地址:https://www.cnblogs.com/guchunchao/p/10062597.html
Copyright © 2011-2022 走看看