zoukankan      html  css  js  c++  java
  • Spring Boot Runner启动器

    Runner启动器

    如果你想在Spring Boot启动的时候运行一些特定的代码,你可以实现接口 ApplicationRunner或者 CommandLineRunner,这两个接口实现方式一样,它们都只提供了一个run方法。

    CommandLineRunner:启动获取命令行参数。

    public interface CommandLineRunner {
    
        /**
         * Callback used to run the bean.
         * @param args incoming main method arguments
         * @throws Exception on error
         */
        void run(String... args) throws Exception;
    
    }

    ApplicationRunner:启动获取应用启动的时候参数。

    public interface ApplicationRunner {
    
        /**
         * Callback used to run the bean.
         * @param args incoming application arguments
         * @throws Exception on error
         */
        void run(ApplicationArguments args) throws Exception;
    
    }

    使用方式

    import org.springframework.boot.ApplicationArguments;
    import org.springframework.boot.ApplicationRunner;
    import org.springframework.core.Ordered;
    import org.springframework.core.annotation.Order;
    
    //@Order
    public class ApplicationRun_1 implements ApplicationRunner,Ordered{
        
        @Override
        public int getOrder() {
            return 0;
        }
    
        @Override
        public void run(ApplicationArguments args) throws Exception {
            System.err.println("order:"+getOrder());
        }
    
    }

    或者这样

    @Bean
    public CommandLineRunner init(){
      return (String... args)->{
                
      };
    }

    启动顺序

    如果启动的时候有多个ApplicationRunner和CommandLineRunner,想控制它们的启动顺序,可以实现 org.springframework.core.Ordered接口或者使用 org.springframework.core.annotation.Order注解。

  • 相关阅读:
    点双连通分量模板
    Caocao's Bridges HDU
    边双连通分量模板
    夏令营501-511NOIP训练18——高三楼
    夏令营501-511NOIP训练17——蛇形矩阵
    夏令营501-511NOIP训练16——数字转换
    模板——最小费用最大流
    洛谷P1792——[国家集训队]种树
    XJOI夏令营501-511NOIP训练14——好朋友
    codeforces 1178E-Archaeology
  • 原文地址:https://www.cnblogs.com/Joy-Hu/p/12163695.html
Copyright © 2011-2022 走看看