Springboot启动加载初始化数据

多数据源 - dynamic-datasource | 进阶 - 懒加载、初始化SQL、无数据源启动 基于 SpringBoot 的多数据源实现 dynamic-datasource,实现懒加载、初始化SQL及无数据源启动。 阅读详情

场景:

我们将一些系统配置参数放在数据库表中,方便随时更改。为了避免频繁读取数据库,我们仅在项目启动时加载一次参数,将这些参数赋值给静态变量。

常量类:

/**
 * @Author: BillYu
 * @Description: 常量
 * @Date: Created in 下午3:56 2018/4/28.
 */
public final class Constants {
    /**
     * 销售占比
     */
        public static Double SELLER_PERCENT = 0.12D;
}

配置类:

import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * @Author: BillYu
 * @Description:初始化赋值
 * @Date: Created in 下午5:20 2019/1/9.
 */
@Component
public class SettingConfig implements CommandLineRunner {
    @Override
    public void run(String... strings) throws Exception {
        Constants.SELLER_PERCENT=0.20D;

    }
}

controller测试:

/**
 * @Author: BillYu
 * @Description:
 * @Date: Created in 下午5:07 2018/8/21.
 */
@RequestMapping("/api/system")
@RestController
@Api(description = ")
public class TestController {

    @ApiOperation("testInit")
    @GetMapping("/init")
    public RtData init(){
        return ResponseBuilder.success(Constants.SELLER_PERCENT);
    }
}

测试结果输出:

{
  "code": 200,
  "msg": "请求成功",
  "data": 0.2
}

证明此时初始化加载已经生效。

在Spring Boot中加载初始化数据的实现 主要介绍了在Spring Boot中加载初始化数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 立即下载

相关推荐

2026年7月19日 从可插拔到共封装:技术路线研究报告

AI 算力的爆发正在重写数据中心光互连的技术路线。本报告对当前并存的四代光互连架构——

weixin_51184047的博客 587

Spring Boot启动时执行初始化操作的几种方式

Spring Boot启动时执行初始化操作的几种方式

strggle_bin的博客 5269

智能汽车域控制器FOTA升级方案探讨

上文提到的Entry属性,包括Active 属性, Bootable 属性, Successful 属性, Retrycnt 属性 ,Active 属性用于标志槽的优先级,bootloader优先选择Active 属性=1的槽启动,Bootable 属性标志槽可否可启动,Successful 属性标志槽是否成功启动过,Retrycnt 属性标志槽可尝试启动的次数。芯片启动后,首先进入Bootloader阶段,此阶段将读取存储系统的分区属性,根据属性值进行逻辑判断,并确定进入哪个分区,详见流程图。

huibian1234的博客 1570

springboot项目启动初始化方法常用的几种方式

springboot项目启动初始化方法常用的几种方式

A_awen的博客 2046

SIwave串扰分析保姆级教程:从Allegro文件导入到结果解读,手把手教你排查PCB信号问题

本文提供SIwave串扰分析的详细教程,从Allegro文件导入到结果解读,手把手教你排查PCB信号问题。涵盖环境准备、参数配置、串扰扫描技巧及实战案例,帮助工程师精准定位和解决高速PCB设计中的串扰问题,提升信号完整性分析能力。

weixin_42620913的博客 256

萤石摄像头批量下载视频后FFmepg拼接

本文描述萤石摄像头,如何批量下载视频,然后把视频片段拼接为一个完整的视频,亲测有效。有问题,可以下面留言

烤鱼哥哥的博客 1202

说说如何在SpringBoot中启动加载全局变量

架构知识

WgRui的博客 6578

TI单芯片毫米波雷达1642demo代码走读(一)

今天我们来实际看下代码。 首先使用CCS软件导入demo工程,工程有两个,一个是ARM的工程,工程名是mmw_mss_16xx;另一个是DSP的工程,工程名为mmw_dss_16xx。我们将这两个工程的主函数打开,分别位于mss_main.c和dss_main.c文件中。 先看mss的主函数,代码如下。我为每行代码都加了中文注释和自己的理解。 int main (void) { Task_Params taskPara...

1万+

Spring Boot启动时执行初始化操作

通常,有些操作需要在工程启动时执行,例如某些资源的加载。SpringBoot提供了几种方式来实现该功能: @PostConstruct 对于注入到Spring容器中的类,在其成员函数前添加@PostConstruct注解,则在执行Spring beans初始化时,就会执行该函数。 但由于该函数执行时,其他Spring beans可能并未初始化完成,因此在该函数中执行的初始化操作应当不依赖于其他Sp...

超频化石鱼的博客 1万+

RK3588 固定hdmiin的dev/videoX节点

RK3588 固定hdmiin的dev/videoX节点

目前从事linux驱动开发,多交流多学习吧 2050

自动化Google Chrome的强大工具:chromedriver下载、安装、简单使用

本文介绍了 ChromeDriver 的基本概念和安装配置方法,重点讲解了如何通过 Selenium 实现 Chrome 浏览器的自动化测试。内容涵盖了 ChromeDriver 下载、版本匹配、依赖引入和简单的自动化测试脚本示例,帮助读者快速上手并避免常见问题。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 88万+

SpringBoot项目启动时初始化操作的几种方式

SpringBoot项目启动时初始化操作的几种方式

一个Java开发工程师的自我修养,从认真记录工作中的点点滴滴开始. 1879

南京理工大学计算机预推免面试(双非重点关注)

南京理工大学总体来说对双非学校比较友好,上岸率比较高,而且面试形式是线上,在预推免的过程中,可以作为重点关注的学校,但是一定要注意南理报名截止的时间,部分学校可能保研名额公示的比较晚,对于保研边缘人来说很可能会错过,我的建议是,即使不确定能否拿到保研名额,先查一下截止时间,先在系统上报名!!一旦拿到了offer,就是铁的,保底专硕,而且有很大的技巧性,一定要认真看哈!!!每个人的情况可能都不一样,如果有需要帮忙可以私我~~~

D1379951481的博客 2018

关于spring boot 的启动加载 一些初始化数据

如何加载一些启动 就需要的初始化数据呢? 为了解决这样的问题,spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。无需其他配置,只要创建一个类去实现接口 CommandLineRunner就可以了。 Spring Boot应用程序在启动后,就会去遍历CommandLineRunner接口的实例并运行它们的run方法。 @Order注

忆江南的博客 2万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SpringBoot启动后加载初始化数据

@PostConstruct、CommandLineRunner、ApplicationRunner、ApplicationListener都可以实现在springboot启动后执行我们特定的逻辑,接下来对比他们的区别

程序员一博 2542

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SpringBoot 初始化基础数据一启动就加载到Redis

我们之前的做法都是经常查询基础,其实这些数据没有经常操作增改删等的话,我们可以查询一次就好然后放到redis变好。这时就有人有疑问了,那如果喔改动了,岂不是用不到了新的了。如果是这样的话你设置一个时效性。比如你设置时效性为每天12点或者一周、一个月等等清除redis,根据你自己需求而定,然后重新加载新的到redis中。首先你载入redis做个判断,避免重复加载。你先判断能不能拿到从redis中,如果不能拿到则查询放入redis中,否则不需要查询数据库。有的人说为啥启动就要加载初始化数据呢,我登...

John的博客 4185

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

springboot自启动加载数据库数据&初始化加载线程

自启动加载数据库数据到项目内存中: 1.应用场景:其实一般来说配置中心就可以解决很多自启动的一些配置参数等等。但是有的比较大的内容放配置文件中去读感觉不是很合理。目前我自己的应用场景就是把一些需要的参数装载到自己的静态全局变量中。方便使用。 2.步骤-(个人建议新建一个包。我的命名就叫start,方便后面查看) //定义Spring管理Bean @Component //实现Applica...

a13627210064的博客 3917

Spring Boot 项目启动时按需初始化加载数据

Spring Boot 项目启动时按需初始化加载数据

我叫晨曦啊的博客 368

Spring Boot 启动后的初始化数据加载原理解析与实战应用

在 Spring 中,@Bean(initMethod) 提供了一种自定义 Bean 初始化方法的方式。通过这种机制,开发者可以为特定的 Bean 指定一个初始化方法,该方法会在 Spring 容器完成该 Bean 的依赖注入和实例化后自动执行。通常,这种方法用于处理一些复杂的初始化操作,例如初始化数据库连接、加载外部配置、启动后台任务等。适用于需要复杂初始化的 Bean。

1201

springboot初始化加载mysql_springboot hikari 连接池 在启动时未初始化数据库连接问题...

在启动Springboot 项目时2019-11-18 21:32:38.223 INFO 1080 --- [on(4)-127.0.0.1] o.s.web.servlet.DispatcherServlet : Completed initialization in 9 ms2019-11-18 21:32:38.390 INFO 1080 --- [on(9)-127.0.0.1] co...

weixin_35281210的博客 2373

springboot项目启动时加载缓存_加载数据_redis缓存_初始化

springboot项目启动时,加载字典信息,放置到redis缓存中 @Component public class InitParameter implements ApplicationRunner { @Autowired private ZdxxService zdxxService; @Autowired private RedisTemplate redisTemplate; @Override public void run(Applic

weixin_46649054的博客 3737

面试官:SpringBoot 工程启动以后,希望将数据库中已有的固定内容提前加载到 Redis 缓存中,应该如何处理

这两个是Springboot中新增的扩展点,之所以将这两个扩展点放在一起,是因为它两个功能特性高度相似,不同的只是名字、扩展方法形参数类型、执行先后的一些小的不同。这两个接口触发时机为整个项目启动完毕后,自动执行。如果有多个,可以利用@Order来进行排序。CommandLineRunner和ApplicationRunner都有一个扩展方法run(),但是run()形参数类型不同;

SevenCoding的博客 2185

springboot 项目初始化执行,只在项目启动时执行一次

一,ApplicationRunner 接口 @Component public class Runner implements ApplicationRunner { @Autowired private ZkUserService zkUserService; @Override public void run(ApplicationArguments args) throws Exception { System.out.println("======

a584257442的博客 6647

SpringBoot之启动初始化CommandLineRunner

实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些初始化的需求。为了解决这样的问题,Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。 Spring Boot应用程序在启动后,会遍历CommandLineRunner接口的实例并运行它们的run方法。 利用@Order注解(或者实现Order接口)来规定所有CommandLi...

weixin_33714884的博客 181

SpringBoot入门(7)——启动加载数据

1.springBoot启动加载数据 2.实现类 3.运行结果 1.springBoot启动加载数据 springBoot 通过实现CommandLineRunner 接口来进行数据加载,当然,可以通过多个类实现的方式完成复杂的数据加载,同时springBoot提供@Order 注解来实现数据加载的顺序。 2.实现类 package c...

痕迹 423

Springboot在服务启动时运行加载功能

Springboot在服务启动时运行加载的功能

weixin_43513980的博客 1326
上一篇: springboot临时文件存储目录配置
下一篇: ConcurrentHashmap size 1.8方法实现
programmeryu
博客等级 码龄11年 23粉丝 67原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值