美文网首页SpringBoot专题
08、SpringBoot中的ApplicationRunner

08、SpringBoot中的ApplicationRunner

作者: Albert_Yu | 来源:发表于2019-06-16 12:40 被阅读1次

    1、应用场景

    有时我们需要在应用程序启动时,执行一些初始化操作,类似@PostContruct注解的作用!如读取配置文件,加载数据至缓存,清除缓存等操作。SpringBoot为我们提供了ApplicationRunner和CommandLineRunner接口。当接口有多个实现类时,提供了@Order注解实现自定义执行顺序,也可以实现Order接口来定义顺序。(数字越小优先级越高,即优先执行)
    ApplicationRunner中run方法的参数为ApplicationArguments,而CommandLineRunner接口中run方法的参数为String数组。想要更详细地获取命令行参数,那就使用ApplicationRunner接口

    2、ApplicationRunner接口

    @Component
    @Order(2)
    public class MyApplicationRunner implements ApplicationRunner {
        @Override
        public void run(ApplicationArguments args) throws Exception {
            System.out.println("MyApplicationRunner 执行了..."+ JSON.toJSONString(args.getSourceArgs()));
        }
    }
    

    3、CommandLineRunner接口

    @Component
    @Order(1)
    public class MyCommandLineRunner implements CommandLineRunner {
        @Override
        public void run(String... args) throws Exception {
            System.out.println("MyCommandLineRunner 执行了..." + JSON.toJSONString(args));
        }
    }
    

    相关文章

      网友评论

        本文标题:08、SpringBoot中的ApplicationRunner

        本文链接:https://www.haomeiwen.com/subject/xxtgfctx.html