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"); } }

 

转载于:https://www.cnblogs.com/yang21/p/9865399.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中的 终端报错怎么看原因_《琅琊榜》中太子被封禁,高湛引皇上看桂花的真正原因是什么?...

《琅琊榜》中,高湛是一个非常经典的角色,他比夏江更懂梁帝的心,或者说,知梁帝者,莫过于高湛。当然,若不是如此,高湛也不能在梁帝身边待了那么些年。梁帝生病,喝下静妃娘娘配制的甜汤…

STM32安装Keil5、芯片支持包、startup启动文件(启动过程、冷热启动)、建立工程、ST-LINK烧写步骤

参考:stm32入门之keil5的安装以及第一个工程的建立 作者:SKY丶丿平才 发布时间: 2020-12-06 17:08:30 网址:https://blog.csdn.net/weixin_48264057/article/details/110734596 目录使用的STM32F103C8T6一、Keil5的下载与安装1.下…

深度学习都是非凸问题_神经网络的损失函数为什么是非凸的?

Ian Goodfellow曾经给在quora回答过,以下是原文:There are various ways to test for convexity.One is to just plot a cross-section of the function and look at it. If it has a non-convex shape, you don’t need to write a proof; you have dis…

针对移动互联网应用的网络建设和优化

为什么80%的码农都做不了架构师?>>> 针对移动互联网应用的网络建设和优化 截至2013年3月,移动互联网的人均上网时长和PC互联网相比差距已经扩大了29%.PC互联网向移动端迁移的趋势进一步凸显.小米是一家专注于iPhone和Android等新一代智能手机软件…

STM32F103实现点灯(寄存器方式)

参考:STM32F103系列最简易版点灯程序 作者:一只青木呀 发布时间:2020-10-21 11:40:38 网址:https://blog.csdn.net/weixin_45309916/article/details/109196950 目录硬件软件点灯流程使能GPIO端口E和B对应的时钟找到GPIO对应的时钟…

rocketmq 消费方式_RocketMQ事务消费和顺序消费详解

一、RocketMq有3中消息类型1.普通消费2. 顺序消费3.事务消费顺序消费场景在网购的时候,我们需要下单,那么下单需要假如有三个顺序,第一、创建订单 ,第二:订单付款,第三:订单完成。也就是这个三个…

GPIO输入输出模式原理(八种工作方式附电路图详解)

这几篇博文讲的不错,可参照着理解: STM32下拉输入模式与振动传感器的使用 “上拉电阻与下拉电阻”通俗解读 上、下拉电阻(定义、强弱上拉、常见作用、吸电流、拉电流、灌电流) 个人总结: 模拟量选浮空输入&#xff0c…

STM32F103构建固件库模板(PS固件库文件树介绍)

参考:STM32F103ZE新建固件库模板 作者:追兮兮 发布时间:2020-10-14 10:31:45 网址:https://blog.csdn.net/weixin_44234294/article/details/109065495 参考博文:https://blog.csdn.net/visual_eagle/article/details/…

STM32F103实现点灯(固件库方式)

参考:stm32上实现点灯 作者:SKY丶丿平才 发布时间: 2021-03-20 16:51:06 网址:https://blog.csdn.net/weixin_48264057/article/details/115028724 目录前言一、硬件设计二、软件设计1.建立工程2.代码编写三、实际验证1.烧写程序2…

STM32震动感应控制继电器(使用循环VS使用外部中断EXTI和中断控制器NVIC)

参考:stm32的外部中断 震动感应 控制 继电器 作者:点灯小哥 发布时间: 2021-03-05 22:37:01 网址:https://blog.csdn.net/weixin_46016743/article/details/114417161 参考:STM32震动感应灯 作者:一只小阿大…

结构体与共用体(联合体)

参考:结构体与共用体 作者:一只青木呀 发布时间: 2020-08-09 08:29:22 网址:https://blog.csdn.net/weixin_45309916/article/details/107889394 参考:联合体(union)的使用方法及其本质 作者&am…

STM32串口原理、结构体、库函数、串口发送字符(串)、重定向printf串口发送、串口中断接收控制灯、接收不定长数据

参考:串口的结构体 重定向printf串口发送stm32等博文 作者:点灯小哥 发布时间: 2021-03-06 21:46:33 网址:https://blog.csdn.net/weixin_46016743/article/details/114458698 目录串口相关知识定义通信概念1.通讯结构2.电平标准3…

STM32通用定时器(原理、结构体、库函数、定时器中断每秒闪烁一次灯) —— 时钟源、分频值、重装载值

参考:stm32定时器与定时器中断 作者:打酱油的 发布时间: 2021-04-11 01:04:09 网址:https://blog.csdn.net/weixin_46098612/article/details/115493737 参考:stm32通用定时器结构体函数定时器实现led闪烁 作者&#x…

关于错误error C4430 error C2365 error C2078 error C2440 error C2143的处理。

关于错误error C4430 error C2365 error C2078 error C2440 error C2143的处理。 楼主在公司接手了一段代码。编译的时候发现一个很奇怪的问题,就是获取最新代码的时候能编译通过,然后下次就编译不通过了,提示如下错误。 后来发现问题出在std…

STM32端口复用和端口重映射

参考:stm32 端口复用和重映射 作者:点灯小哥 发布时间: 2021-03-09 13:49:19 网址:https://blog.csdn.net/weixin_46016743/article/details/114581032 目录端口复用1.什么是端口复用2. 如何配置端口复用(以PA9、PA10串口为例)端口…

Scala学习:Curry化的函数

2019独角兽企业重金招聘Python工程师标准>>> 在第1章,我们说过Scala允许你创建新的“感觉像是原生语言支持”的控制抽象。尽管到目前你已经看到的例子都的确是控制抽象,不过任何人都不会 误以为它们是原生语言支持的。为了搞明白如何让控制抽…

js 获取session_Python实战案例:这是你见过的最详细的JS加密登录某博

0x00 抓包分析简单的搜索之后发现,很多参数都是登陆上面这个请求返回的值,这个请求在输入完账号光标到达密码框时就会生成!0x01 加密逻辑分析搜索su可以很快找到加密的位置,上图看到e.su和e.sp都是由sinaSSOEncoder这个函数生成的&#xff0c…

STM32通用定时器输出PWM控制舵机 —— 重装载值、比较值、当前值

参考:stm32 定时器输出PWM原理及工作原理控制舵机 作者:点灯小哥 发布时间: 2021-03-09 23:17:52 网址:https://blog.csdn.net/weixin_46016743/article/details/114606662 参考:stm32之pwm输出 作者:打酱油…

STM32系统定时器SysTick(只能向下递减)延时闪烁灯

参考:stm32 系统定时器 SysTick 作者:点灯小哥 发布时间: 2021-03-10 13:46:00 网址:https://blog.csdn.net/weixin_46016743/article/details/114633245 参考:stm32之系统定时器 作者:打酱油的&#xff1b…

WMS学习笔记:1.尝试加载WMS

1.首先找一个可用的WMS栅格地图服务:http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi 获取GetCapabilities: http://demo.cubewerx.com/demo/cubeserv/cubeserv.cgi?serviceWMS&requestGetCapabilities 2.在ArcGIS中添加GIS空间服务 2.在ArcC…