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

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


原网址: 访问
创建于: 2021-09-24 09:23:04
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论