全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

spring boot启动加载数据原理分析

实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。

为了解决这样的问题,spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。

创建实现接口 CommandLineRunner 的类,通过@Component注解,就可以实现启动时加载数据项。使用@Order 注解来定义执行顺序。

IndexStartupRunner.Java类:

import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
 * 服务启动执行
 */
@Component
@Order(value=1)
public class IndexStartupRunner implements CommandLineRunner {
  @Override
  public void run(String... args) throws Exception {
    System.out.println("
IndexStartupRunner 
>>>>>>>>>>>>>>>服务启动执行,执行加载数据等操作 <<<<<<<<<<<<<");
  }
}
IndexStartupRunner2.java类:
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
 * 服务启动执行
 */
@Component
@Order(value=2)
public class IndexStartupRunner2 implements CommandLineRunner {
  @Override
  public void run(String... args) throws Exception {
    System.out.println("
IndexStartupRunner2 
>>>>>>>>>>>>>>>服务启动执行,执行加载数据等操作 <<<<<<<<<<<<<");
  }
}

启动程序后,控制台输出结果为:

>>>>>>>>>>>>>>>IndexStartupRunner服务启动执行,执行加载数据等操作<<<<<<<<<<<<<
>>>>>>>>>>>>>>>IndexStartupRunner2服务启动执行,执行加载数据等操作<<<<<<<<<<<<<

根据控制台结果可判断,@Order 注解的执行优先级是按value值从小到大顺序。

ComandLineRunner和ApplicationRunner区别和使用

如果需要在springapplication启动之后运行一些特定的代码,可以实现 ApplicationRunner 或
CommandLineRunner 接口。 两个接口以相同的方式工作,并提供了一​​个单一的 run 方法,该方法将被调用
SpringApplication.run(…​) 完成之前。

这两个接口的不同之处在于:ApplicationRunner中run方法的参数为ApplicationArguments,而CommandLineRunner接口中run方法的参数为String数组。

以上所述是小编给大家介绍的spring boot启动加载数据原理分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# spring  # boot  # 启动加载  # 加载  # SpringBoot启动及自动装配原理过程详解  # 详解spring boot应用启动原理分析  # spring boot jar的启动原理解析  # 分析SpringBoot的启动原理  # SpringBoot启动原理深入解析  # 小编  # 会有  # 在此  # 这两个  # 给大家  # 将被  # 就去  # 可以实现  # 来实现  # 所述  # 给我留言  # 启动时  # 从小到大  # 感谢大家  # 就可以  # 实际应用  # 不同之处  # 疑问请  # 有任何 


相关文章: 整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  建站之星如何防范黑客攻击与数据泄露?  C#如何序列化对象为XML XmlSerializer用法  如何快速搭建高效WAP手机网站?  网站制作报价单模板图片,小松挖机官方网站报价?  公众号网站制作网页,微信公众号怎么制作?  建站之星安装后如何自定义网站颜色与字体?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  广州建站公司哪家好?十大优质服务商推荐  如何获取免费开源的自助建站系统源码?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  教程网站设计制作软件,怎么创建自己的一个网站?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  简单实现Android验证码  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何快速搭建响应式可视化网站?  如何选择高效稳定的ISP建站解决方案?  PHP正则匹配日期和时间(时间戳转换)的实例代码  网站代码制作软件有哪些,如何生成自己网站的代码?  如何快速搭建高效简练网站?  郑州企业网站制作公司,郑州招聘网站有哪些?  如何高效配置香港服务器实现快速建站?  如何用已有域名快速搭建网站?  如何高效配置IIS服务器搭建网站?  如何通过商城免费建站系统源码自定义网站主题?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  如何在阿里云部署织梦网站?  如何快速使用云服务器搭建个人网站?  怀化网站制作公司,怀化新生儿上户网上办理流程?  如何在IIS7上新建站点并设置安全权限?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  建站主机类型有哪些?如何正确选型  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  c# Task.ConfigureAwait(true) 在什么场景下是必须的  c++怎么用jemalloc c++替换默认内存分配器【性能】  建站之星如何修改网站生成路径?  网站制作难吗安全吗,做一个网站需要多久时间?  建站VPS推荐:2025年高性能服务器配置指南  建站与域名管理如何高效结合?  建站上市公司网站建设方案与SEO优化服务定制指南  安徽网站建设与外贸建站服务专业定制方案  如何正确选择百度移动适配建站域名?  大型企业网站制作流程,做网站需要注册公司吗?    手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  建站之星免费模板:自助建站系统与智能响应式一键生成  学校免费自助建站系统:智能生成+拖拽设计+多端适配  制作网页的网站有哪些,电脑上怎么做网页? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。