博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot项目启动时自动执行指定方法
阅读量:7059 次
发布时间:2019-06-28

本文共 1217 字,大约阅读时间需要 4 分钟。

在SpringBoot中,有两种接口方式实现启动执行,分别是ApplicationRunner和CommandLineRunner,除了可接受参数不同,其他的大同小异

ApplicationRunner :

import org.springframework.boot.ApplicationArguments;import org.springframework.boot.ApplicationRunner;import org.springframework.core.annotation.Order;import org.springframework.stereotype.Component;import java.util.Date;/** * 继承Application接口后项目启动时会按照执行顺序执行run方法 * 通过设置Order的value来指定执行的顺序 */@Component@Order(value = 1)public class StartService implements ApplicationRunner {    @Override    public void run(ApplicationArguments args) throws Exception {        System.out.println(new Date());    }}

CommandLineRunner:

import org.springframework.boot.CommandLineRunner;import org.springframework.stereotype.Component;import java.util.Date;@Componentpublic class MyCommandLineRunner implements CommandLineRunner,Ordered{    @Override    public int getOrder(){        return 1;//返回执行顺序    }    @Override    public void run(String... var1) throws Exception{        System.out.println(new Date());    }}

我们也可以设置Order来设定执行的顺序,在上面两个代码中也有,分别是注解@Order(value = 1)和实现接口implements Ordered的方式,个人喜欢注解,简单明了。

在我们实现的run方法中,可以写我们执行的内容或者是调用已经写好的方法,个人建议将要执行的内容抽成方法额外写出来,毕竟启动时要执行的方法可能不止一个。

原文:

转载于:https://blog.51cto.com/jtech/2316964

你可能感兴趣的文章
js时钟
查看>>
java字符 字符串
查看>>
iterator (迭代器)的应用的用法(一)
查看>>
Java 接口代理
查看>>
关于treeView1_AfterSelect方法中节点的使用(代码介绍)
查看>>
ORA-16009: invalid redo transport destination
查看>>
Oracle 12c ORA-01516: nonexistent log file, data file, or temporary file "10"
查看>>
一对一映射的三种方式以及对lazyload的特别关注
查看>>
麦进斗:magento如何安装子主题
查看>>
Stack Based Windows Buffer Overflow Tutorial
查看>>
单双链表,通过指针变动交换相邻元素
查看>>
redhat中设置环境变量PATH的方法
查看>>
在bootstrap的modal中使用popover和tooltip
查看>>
linux系统下搭建squid服务
查看>>
2013-7-18学习作业[有常考面试题]
查看>>
ant工具的使用和功能
查看>>
Linux 常用系统工具与初始化配置
查看>>
31、C#里面的图片框PictureBox的使用
查看>>
CCNP学习笔记9——OSPF
查看>>
Java applet 安全性探究
查看>>