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注解。

  • 相关阅读:
    精彩分享
    Cocoa.Programming.for.Mac.OS.X 3rd 前8章小知识点
    ObjectiveC protocol 和 delegate
    Object copying
    KeyValue Observing
    实现KeyValue Coding 的5种方法
    关于 XIB 和 NIB
    ObjectiveC 中的 self 和 super
    使用KeyValue Coding
    PrepareStatement的两个executeQuery语句
  • 原文地址:https://www.cnblogs.com/Joy-Hu/p/12163695.html
Copyright © 2011-2022 走看看