1. 程式人生 > >(一)Spring boot CommandLineRunner的基本使用:啟動載入資料

(一)Spring boot CommandLineRunner的基本使用:啟動載入資料

在Spring boot專案的實際開發中,我們有時需要專案服務啟動時載入一些資料或預先完成某些動作。為了解決這樣的問題,Spring boot 為我們提供了一個方法:通過實現介面 CommandLineRunner 來實現這樣的需求。

實現方式:只需要一個類即可,無需其他配置。 

實現步驟:

1.建立實現介面 CommandLineRunner 的類 MyStartupRunnerTest

package com.energy;

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * Created by CavanLiu on 2017/2/28 0028.
 */
@Component
@Order(value=1)
public class MyStartupRunnerTest implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println(">>>>This is MyStartupRunnerTest Order=1. Only testing CommandLineRunner...<<<<"); } }

2.建立實現介面CommandLineRunner 的類 MyStartupRunnerTest2

package com.energy;

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * Created by CavanLiu on 2017/2/28 0028.
 */
@Component
@Order(value=2)
public class MyStartupRunnerTest2 implements CommandLineRunner
{
    @Override
    public void run(String... args) throws Exception
    {
        System.out.println(">>>>This is MyStartupRunnerTest Order=2. Only testing CommandLineRunner...<<<<");
    }
}

3.啟動Spring boot後檢視控制檯輸出資訊,如下所示:

>>>>This is MyStartupRunnerTest Order=1. Only testing CommandLineRunner...<<<<
>>>>This is MyStartupRunnerTest2 Order=2. Only testing CommandLineRunner...<<<<

4.Application啟動類程式碼略。

說明:CommandLineRunner介面的執行順序是依據@Order註解的value由小到大執行,即value值越小優先順序越高。