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

  • 相关阅读:
    文字无缝滚动效果,鼠标移入时暂停
    Spring中使用@Autowired注解静态实例对象
    服务器环境搭建
    nexus问题
    useUnicode=true&characterEncoding=UTF-8 的作用
    SpringBoot项目启动时自动执行指定方法
    springboot自定义消息转换器HttpMessageConverter
    kubernetes资源类别介绍
    红黑树与平衡二叉树的比较
    Feign Client的超时时间
  • 原文地址:https://www.cnblogs.com/Joy-Hu/p/12163695.html
Copyright © 2020-2023  润新知