zoukankan      html  css  js  c++  java
  • spring boot启动加载数据

    实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。
    为了解决这样的问题,spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。
    创建实现接口 CommandLineRunner 的类,通过@Component注解,就可以实现启动时加载数据项。使用@Order 注解来定义执行顺序。

    IndexStartupRunner.Java类:
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.core.annotation.Order;
    import org.springframework.stereotype.Component;

    /**
     * 服务启动执行
     */
    @Component
    @Order(value=1)
    public class IndexStartupRunner implements CommandLineRunner {

        @Override
        public void run(String... args) throws Exception {
            System.out.println("
    IndexStartupRunner
    >>>>>>>>>>>>>>>服务启动执行,执行加载数据等操作 <<<<<<<<<<<<<");
        }
    }

    IndexStartupRunner2.java类:
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.core.annotation.Order;
    import org.springframework.stereotype.Component;

    /**
     * 服务启动执行
     */
    @Component
    @Order(value=2)
    public class IndexStartupRunner2 implements CommandLineRunner {
        @Override
        public void run(String... args) throws Exception {
            System.out.println("
    IndexStartupRunner2
    >>>>>>>>>>>>>>>服务启动执行,执行加载数据等操作 <<<<<<<<<<<<<");

        }
    }

    启动程序后,控制台输出结果为:
    >>>>>>>>>>>>>>>IndexStartupRunner服务启动执行,执行加载数据等操作<<<<<<<<<<<<<
    >>>>>>>>>>>>>>>IndexStartupRunner2服务启动执行,执行加载数据等操作<<<<<<<<<<<<<

    根据控制台结果可判断,@Order 注解的执行优先级是按value值从小到大顺序。
    ComandLineRunner和ApplicationRunner区别和使用
    如果需要在springapplication启动之后运行一些特定的代码,可以实现 ApplicationRunner 或
    CommandLineRunner 接口。 两个接口以相同的方式工作,并提供了一​​个单一的 run 方法,该方法将被调用
    SpringApplication.run(…​) 完成之前。
    这两个接口的不同之处在于:ApplicationRunner中run方法的参数为ApplicationArguments,而CommandLineRunner接口中run方法的参数为String数组。

  • 相关阅读:
    洛谷 P1525 关押罪犯(并查集|二分图判定&二分答案)
    洛谷 P1948 [USACO08JAN]Telephone Lines S(贪心+最短路)
    洛谷 P1315 观光公交(贪心+模拟)
    洛谷 P3258 [JLOI2014]松鼠的新家(树上差分)
    【NOIP2001】统计单词个数
    【洛谷习题】皇后游戏
    【洛谷习题】木棍加工
    【SDOI2008】仪仗队
    【洛谷习题】末日的传说
    【洛谷习题】又是毕业季I
  • 原文地址:https://www.cnblogs.com/web424/p/6755996.html
Copyright © 2011-2022 走看看