springboot项目启动后执行特定方法

硅谷探秘者 7532 0 0

springboot项目启动后执行特定方法


        有时项目需求,需要项目启动的时候向数据库中查询一下系统属性,或者需要加载某个特定的方法。那么在springboot中可以用如下方法实现


第一种实现,实现ApplicationRunner 接口

package com.dzqc.yx.controller;
import com.dzqc.yx.service.impl.StudentServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
 *项目启动执行
 */
@Component
@Order(value = 1)   //执行顺序控制
public class Test1 implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments applicationArguments){
        System.out.println("启动");
    }
}


第二种实现,实现CommandLineRunner 接口

package com.dzqc.yx.controller;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

@Component
@Order(value=2)
public class Test2 implements CommandLineRunner {
    @Override
    public void run(String... var1) throws Exception {
        System.out.println("启动2");
    }
}


                  相同点:这两种方法提供的目的是为了满足,在项目启动的时候立刻执行某些方法。我们可以通过实现ApplicationRunner和CommandLineRunner,来实现,他们都是在SpringApplication 执行之后开始执行的。
        不同点:CommandLineRunner接口可以用来接收字符串数组的命令行参数,ApplicationRunner 是使用ApplicationArguments 用来接收参数的


QQ截图20190418131934.png


评论区
请写下您的评论...
暂无评论...
猜你喜欢
spring/springmvc 4355 springmvccontroller在springmvc的配置文件中加入controller的bean,注意bean加载的顺序beanclass
java 数据库 2609 java-数据库之间时进数据交换服务(右上下载)压缩包内附sql脚本,本springboot+mybatis框架,导入即可测试。的,实现两个数据库时自数据同步,
java基础,springboot 1345 。 二、配置springboot服务  要将程序注册成服务,必须保证jar有(下面例子中的x)的权限,否则服务无。 SystemVInit服务  SystemVInit服务都在录/etc
java虚拟机(jvm) 4483 jvm内存模型分析(1)已经对内存模型进了一个宏观的概括http://www.jiajiajia.club/weblog/blog/artical/82那么下边具体分析一下的过程还是以一个
java基础 4385 java线程的三种式1.继承Thread类,重写run,调用start线程2.实现Runnable接口,重写run,调用start线程3.实现Callable接口代码如
official 678 两种案1.打包的时候指配置文件,例如cleaninstall-Ptest2.的时候指配置文件,例如java-jar-Dspring.profiles.active=testdemo-0.0.1-SNAPSHOT.jar
c++ 969 两种案1.打包的时候指配置文件,例如cleaninstall-Ptest2.的时候指配置文件,例如java-jar-Dspring.profiles.active=testdemo-0.0.1-SNAPSHOT.jar
其他 2460 linux环境下开机自tomcat1.修改脚本文件rc.local这个脚本是使用者自的开机程序,可以在里面添加想在系统的脚本或者脚本命令vim/etc/rc.d
归档
2018-11  12 2018-12  33 2019-01  28 2019-02  28 2019-03  32 2019-04  27 2019-05  33 2019-06  6 2019-07  12 2019-08  12 2019-09  21 2019-10  8 2019-11  15 2019-12  25 2020-01  9 2020-02  5 2020-03  16 2020-04  4 2020-06  1 2020-07  7 2020-08  13 2020-09  9 2020-10  5 2020-12  3 2021-01  1 2021-02  5 2021-03  7 2021-04  4 2021-05  4 2021-06  1 2021-07  7 2021-08  2 2021-09  8 2021-10  9 2021-11  16 2021-12  14 2022-01  7 2022-05  1 2022-08  3 2022-09  2 2022-10  2 2022-12  5 2023-01  3 2023-02  1 2023-03  4 2023-04  2 2023-06  3 2023-07  4 2023-08  1 2023-10  1 2024-02  1 2024-03  1 2024-04  1
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议 keepalived minio mysql ensp 网络基础 xxl-job rabbitmq haproxy srs 音视频 webrtc javascript
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。