问题:

最近做项目(项目使用的是springboot)的时候,数据库有一个配置参数表,每次都要查询数据库去做数据转换,这样每次查询数据库感觉不太友好,后来写了一个方法项目启动完成后立即执行此方法,将配置加载到内存中,避免频繁查询数据库造成的性能问题。

当服务启动时需要做一些初始化的操作springboot提供了两个接口供我们使用ApplicationRunner和CommandLineRunner

两者都可以实现项目启动初始化的工作,如果有多个实现类可以使用Order注解,控制各个实现类的加载顺序。Order值越小越先加载。

至于两者的区别,主要是参数不同,前者的参数为ApplicationArguments,后者为数组,个人认为前者更牛一些,因为可以获取更多的命令参数。

解决办法:

话不多说上代码

这里我创建了三个类,分别使用order指定了执行顺序。

下面是控制台的输出:

可以看到这三个类按着order指定的顺序执行了。

springboot容器加载完毕执行某一个方法的更多相关文章

  1. spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)

    关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用 ...

  2. spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)转

    关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用 ...

  3. 页面加载完毕后调用js方法进行布局操控 已实验

    页面加载完毕后调用js方法进行布局操控 已实验 $(function(){ var check1 = $("[id$=SMS]").is(':checked'); var bl=$ ...

  4. 实用脚本 - - addLoadEvent 页面加载完毕执行函数

    function addLoadEvent(func){ var oldonload = window.onload; if(typeof window.onload != "functio ...

  5. 页面加载完毕执行多个JS函数

    通常我们需要在打开页面时加载脚本,这些脚本必须在页面加载完毕后才可以执行,因为这时候DOM才完整,可以利用window.onload确保这一点,如:window.onload=firstFunctio ...

  6. spring bean容器加载后执行初始化处理@PostConstruct

    先说业务场景,我在系统启动后想要维护一个List常驻内存,因为我可能经常需要查询它,但它很少更新,而且数据量不大,明显符合缓存的特质,但我又不像引入第三方缓存.现在的问题是,该List的内容是从数据库 ...

  7. spring boot容器加载完后执行特定操作

    有时候我们需要在spring boot容器启动并加载完后,开一些线程或者一些程序来干某些事情.这时候我们需要配置ContextRefreshedEvent事件来实现我们要做的事情 1.Applicat ...

  8. js判断页面加载完毕方法

    判断页面加载完成这个方法是很常见的,下面有三个常用的方法,各有利弊. 一.纯js方法 // (1).页面所有内容加载完成执行 window.onload = function(){ } // (2). ...

  9. 在css加载完毕后执行后续代码

    最近在写项目的framework,写个JQueryMessageBox的类,以使用jquery ui中的dialog()来显示消息框,为了使方法方便调用,便加入了自动判断页面是否加入了ui.js和ui ...

随机推荐

  1. 解决Idea的Generate Sources无法生成QueryDSL问题

    今天是2020年第一天在家办公,就出现了跟在公司不一样的现象,deploy项目到maven库时失败,之前一直成功. 查到原因在于QueryDSL类没有生成,但为何在公司可以而在家里就不行呢? 鉴于Id ...

  2. Arrays.asList()用法梳理

    Arrays.asList()用法梳理 asList概述 Arrays是java容器相关操作的工具类,asList方法将Array转换为list,是Array和List之间的桥梁. asList本质 ...

  3. CSRF攻击原理

    CSRF CSRF(Cross-site request forgery)跨站请求伪造,CSRF是一种夹持用户在已经登陆的web应用程序上执行非本意的操作的攻击方式.相比于XSS,CSRF是利用了系统 ...

  4. 在 Ubuntu 上安装 K8S教程

    在 Ubuntu 上安装 K8S教程 1,更新系统源 如果系统本身自带得镜像地址,服务器在国外,下载速度会很慢,可以打开 /etc/apt/sources.lis 替换为国内得镜像源. apt upg ...

  5. obj2gltf安装详细教程

    在线转换地址:http://52.4.31.236/convertmodel.html 在使用cesium的过程中需要使用到gltf模型,官方推荐使用obj2gltf插件将obj模型转换成gltf格式 ...

  6. 今天你上班了吗?来聊聊一个隐蔽了 5 年的BUG!

    前言 今天,我们要揭晓一个 FineUI 隐藏最深的一个BUG,这个问题从 2014-07-30 发布 FineUIPro v1.0.0 就一直存在,直到最新于 2020-01-10 发布的 v6.1 ...

  7. 实验17:NAT

    实验14-1:静态NAT 配置 Ø    实验目的通过本实验可以掌握(1)静态NAT 的特征(2)静态NAT 基本配置和调试 Ø    拓扑结构 实验步骤n    步骤1:配置路由器R1 提供NAT ...

  8. Java面试技巧—如何自我介绍

    在企业面试环节中“自我介绍”这个老生常谈的话题就不用多说什么了,面试官必定会问的.那么如何在自我介绍的时候就能够打动面试官,吸引面试官对面试者的兴趣?如何进行自我介绍比较好?有没有什么方式方法呢?当然 ...

  9. linux中rz、rs命令无法执行的情况

    执行如下安装命令: yum install -y lrzsz

  10. svn: Can't connect to host '': 由于目标机器积极 原因及解决办法

    在dos环境下输入命令“svnserve -d --listen-port 3690 -r d:\svn” 这里“d:\svn” 是你在svn中创建的版本库路径,然后执行命令,记住窗口不能关闭,关闭之 ...