springboot项目启动之后初始化自定义配置类

Posted helloworld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot项目启动之后初始化自定义配置类相关的知识,希望对你有一定的参考价值。

前言

今天在写项目的时候,需要再springboot项目启动之后,加载我自定义的配置类的一些方法,百度了之后特此记录下。

正文

方法有两种:

1、 创建自定义类实现 CommandLineRunner接口,重写run()方法。springboot启动之后会默认去扫描所有实现了CommandLineRunner的类,并运行其run()方法。

@Component
@Order(2)   //通过order值的大小来决定启动的顺序
public class AskForLeave implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
        askForLeave();
    }

    public void askForLeave(){
        System.out.println("项目启动了,执行了方法");
    }
}

运行结果:

 

 2、创建自定义类实现ApplicationRunner 接口,重写run()方法。

@Component
@Order(3)
public class Hello implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {

        hello();
    }

    public void hello(){
        System.out.println("项目又启动了,这次使用的是:继承 ApplicationRunner");
    }
}

结果如下:

关于二者的区别:

其实并没有什么区别,如果想获取更加详细的参数的时候,可以选择使用ApplicationRunner接口。其参数类型为:ApplicationArguments 。

以上是关于springboot项目启动之后初始化自定义配置类的主要内容,如果未能解决你的问题,请参考以下文章

自定义spring boot start

自定义SpringBoot Starter 通过注解启动装配

Spring Boot使用——项目启动自动执行sql脚本

springboot自定义配置文件数量是变化的,属性相同,只是值不一样,怎样绑定到实体类?

Springboot 项目启动后执行某些自定义代码

Springboot入门