Spring Boot Runner启动器

Runner启动器

如果你想在Spring Boot启动的时候运行一些特定的代码,你可以实现接口 ApplicationRunner或者 CommandLineRunner,这两个接口实现方式一样,它们都只提供了一个run方法。

CommandLineRunner:启动获取命令行参数。

public interface CommandLineRunner {

    /**
     * Callback used to run the bean.
     * @param args incoming main method arguments
     * @throws Exception on error
     */
    void run(String... args) throws Exception;

}

ApplicationRunner:启动获取应用启动的时候参数。

public interface ApplicationRunner {

    /**
     * Callback used to run the bean.
     * @param args incoming application arguments
     * @throws Exception on error
     */
    void run(ApplicationArguments args) throws Exception;

}

使用方式

import org.springframework.boot.*
import org.springframework.stereotype.*

@Component
public class MyBean implements CommandLineRunner {

    public void run(String... args) {
        // Do something...
    }

}

或者这样

@Bean
public CommandLineRunner init() {

    return (String... strings) -> {

    };

}

启动顺序

如果启动的时候有多个ApplicationRunner和CommandLineRunner,想控制它们的启动顺序,可以实现 org.springframework.core.Ordered接口或者使用 org.springframework.core.annotation.Order注解。

看完是否收获良多?

分享到朋友圈给更多的人吧。

原文发布于微信公众号 - Java技术栈(javastack)

原文发表时间:2017-09-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏郭少华

Spring boot之Hello World(一)

1123
来自专栏java思维导图

Spring MVC 到 Spring BOOT的简化之路

从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷。但是Spring和Spring MVC的众多配置有时却让人望而却步,相信...

1842
来自专栏技术专栏

springcloud(一)-集成Eureka 服务注册与发现(慕课网廖师兄SpringCloud微服务实战)

让多个Eureka服务端两两注册,即一个Eureka做为另一个Eureka的客户端,然后让Client注册到每一个Eureka服务端上,这样,当一个服务端挂掉以...

1.8K1
来自专栏子勰随笔

开发环境通用设置

1675
来自专栏Java学习123

【Spring】Spring MVC原理及配置详解

2872
来自专栏java学习

Spring MVC工作原理 及注解说明

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框...

982
来自专栏你不就像风一样

SpringBoot分布式 - SpringCloud

本文只讲解了服务的注册与发现,Spring cloud的更多内容推荐阅读:SpringCloud分布式教程

2132
来自专栏JAVA高级架构

Spring MVC工作原理

1292
来自专栏技术博文

phpize报cannot find autoconf

突然想往php种增加个模块,可是又不想重新编译php,因为真的比较费时间。 phpize就可以解决这个问题。 遇到的问题: Configuring for: P...

32511
来自专栏10km的专栏

glog/gflags:linux下用cmake通过MinGW-w64交叉编译生成windows版本静态库

ubuntu16下,先要安装mingw sudo apt-get install mingw-w64 如果没有安装cmake,记得安装, sudo ap...

3357

扫码关注云+社区

领取腾讯云代金券