Spring Boot 5:应用程序启动时初始化资源
Posted 一叶一世界abandon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 5:应用程序启动时初始化资源相关的知识,希望对你有一定的参考价值。
需求:应用程序启动后,初始化基础数据、加密证书等操作。
可以使用CommandLineRunner接口来实现,在SpringBoot.run()之后完成资源的初始化工作。
注意:多个Runner需要顺序启动的话,可以使用@Order注解
package sun.flower.diver.modules.system.init;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* 应用程序启动后加载基础数据 Runner
*
* @Author YangXuyue
* @Date 2018/10/28 13:48
*/
@Component
@Order(1)
public class BaseDataRunner implements CommandLineRunner {
@Override
public void run(String... strings) throws Exception {
System.out.println("start init base data");
}
}
package sun.flower.diver.modules.system.init;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* 应用程序启动后加载证书 Runner
*
* @Author YangXuyue
* @Date 2018/10/28 13:50
*/
@Component
@Order(2)
public class CertificateRunner implements CommandLineRunner {
@Override
public void run(String... strings) throws Exception {
System.out.println("start init certificate info");
}
}
package sun.flower.diver;
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
// 添加注解 @EnableDiscoveryClient,只有这样,服务注册、心跳检测相关配置信息才能被自动加载
@EnableDiscoveryClient
public class DiverApplication {
public static void main(String[] args) {
System.out.println("application start");
SpringApplication application = new SpringApplication(DiverApplication.class);
// 添加监听器,此时监听器类不需要标注是一个Bean
//application.addListeners(new BaseListener());
application.setBannerMode(Banner.Mode.OFF);
application.run(args);
System.out.println("application started");
}
}
以上是关于Spring Boot 5:应用程序启动时初始化资源的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 2.0:Spring Boot 如何解决项目启动时初始化资源
Spring Boot 2.0:Spring Boot 如何解决项目启动时初始化资源
在Spring Boot App中启动ApplicationContext时出错
[Spring Boot] 5. Spring Boot中的ApplicationContext - 执行ApplicationContextInitializer初始化器
[Spring Boot] 5. Spring Boot中的ApplicationContext - 执行ApplicationContextInitializer初始化器