您的位置:首页 > 编程语言 > Java开发

Spring Boot (教程九: 启动加载)

2017-07-12 16:46 363 查看
GitHub 地址:

https://github.com/asd821300801/Spring-Boot.git

CommandLineRunner 接口实现启动加载

需求:启动服务器的时候加载数据

- Spring Boot 提供 CommandLineRunner 接口,用于启动服务器的时候加载数据

用法很简单,只需要创建一个类,实现 CommandLineRunner 接口 ,重写 run(String… args) 方法即可

StartLoading.java

包所在:com.example.start

注意:创建的类属于Controller层,所以要加上@Component注解

package com.example.start;

import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Controller;

/**
* 服务启动的时候运行
* 创建一个类实现 CommandLineRunner 接口,重写 run(String... arg0)方法
* @author LingDu
*/
@Controller
public class StartLoading implements CommandLineRunner {

@Override
public void run(String... arg0) throws Exception {
System.out.println("StartLoading:服务启动的时候运行,正在加载数据。。。。。");
}
}


执行结果:



StartLoading1.java

包所在:com.example.start

多个CommandLineRunner 实例优先级的问题

使用@Order 注解设置Value值来执行顺序

作为演示,我们创建多一个类 StartLoading1.java ,实现CommandLineRunner接口并重写run(String… arg0)方法

不同的是在:
@Component 注解下添加 @Order(value=1)


package com.example.start;

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

/**
*
* @author LingDu
*/
@Component
@Order(value=1) //优先级
public class StartLoading1 implements CommandLineRunner {

@Override
public void run(String... arg0) throws Exception {
System.out.println("优先级:1 ********* StartLoading1:服务启动的时候运行,正在加载数据。。。。。");
}
}


@Order 注解的执行优先级是按value值从小到大顺序。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息