zoukankan      html  css  js  c++  java
  • Spring Boot 5:应用程序启动时初始化资源

    需求:应用程序启动后,初始化基础数据、加密证书等操作。

    可以使用CommandLineRunner接口来实现,在SpringBoot.run()之后完成资源的初始化工作。

    注意:多个Runner需要顺序启动的话,可以使用@Order注解

    package sun.flower.diver.modules.system.init;
    
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.core.annotation.Order;
    import org.springframework.stereotype.Component;
    
    /**
     * 应用程序启动后加载基础数据 Runner
     *
     * @Author YangXuyue
     * @Date 2018/10/28 13:48
     */
    @Component
    @Order(1)
    public class BaseDataRunner implements CommandLineRunner {
        @Override
        public void run(String... strings) throws Exception {
            System.out.println("start init base data");
        }
    }
    package sun.flower.diver.modules.system.init;
    
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.core.annotation.Order;
    import org.springframework.stereotype.Component;
    
    /**
     * 应用程序启动后加载证书 Runner
     *
     * @Author YangXuyue
     * @Date 2018/10/28 13:50
     */
    @Component
    @Order(2)
    public class CertificateRunner implements CommandLineRunner {
        @Override
        public void run(String... strings) throws Exception {
            System.out.println("start init certificate info");
        }
    }
    package sun.flower.diver;
    
    import org.springframework.boot.Banner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    
    @SpringBootApplication
    // 添加注解 @EnableDiscoveryClient,只有这样,服务注册、心跳检测相关配置信息才能被自动加载
    @EnableDiscoveryClient
    public class DiverApplication {
    
        public static void main(String[] args) {
            System.out.println("application start");
    
            SpringApplication application = new SpringApplication(DiverApplication.class);
            // 添加监听器,此时监听器类不需要标注是一个Bean
            //application.addListeners(new BaseListener());
            application.setBannerMode(Banner.Mode.OFF);
            application.run(args);
    
            System.out.println("application started");
        }
    
    }

  • 相关阅读:
    selenium开发-C#/java/Python
    Web循环监控Java调用 / Java调用.net wcf接口
    网站循环加载监控-C#
    串口通信分析
    windows环境jar包部署到linux服务器,一键操作
    windows环境jar包部署到linux服务器,一键操作(帮助说明)
    Git+TortoiseGit使用帮助
    安装Docker
    MySQL报错信息:Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 489")
    txt文档中文乱码
  • 原文地址:https://www.cnblogs.com/yang21/p/9865399.html
Copyright © 2011-2022 走看看