springboot在项目启动时加载字典表数据进map内存,真实测试通过。

SpringBoot 项目启动时读取配置文件内容到Map 实现目标:项目启动时读取配置文件存到Map对象中,在接口调用时直接从Map中获取需要的值 配置文件格式: route.paths=0x16,0x21 route.0x16.id=order route.0x16.path=execOrder route.0x21.id=express route.0x21.path=execExpress 最终存储的Map格式: @Data public class ParameterPath { private String id; private S 阅读详情
public class DicMap {
    @Autowired
    private static CustomerDao customerDao;
    private static HashMap<String,String> hashMap=new HashMap<>();
    static {
        //在这里我们不能使用注入进来的customerDao,因为它此时还没有被创建出来,所以我们要在系统
        //运行的时候获取项目的上下文手动去获取这个bean
        customerDao = SpringUtil.getBean(CustomerDao.class);
        queryDic();
    }
    //把字典信息放到map中
    public static void queryDic(){
        List<Dictionary> dics=customerDao.findAllDictionary();
        for (int i = 0; i < dics.size(); i++) {
            Dictionary dic = dics.get(i);
            String divi = dic.getDivi();
            Integer code = dic.getCode();
            String value = dic.getVal();
            String key=divi+code;
            hashMap.put(key,value);
        }
    }
    //获取字典信息的具体方法
    public static String getDicVal(String divi,Integer code){
        String key=divi+code;
        String val = hashMap.get(key);
        return val;
    }
}

 

package com.yzt.demo.util;


import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

@Component
public class SpringUtil implements ApplicationContextAware {

    private static ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        if(SpringUtil.applicationContext == null) {
            SpringUtil.applicationContext = applicationContext;
        }
        System.out.println("---------------------------------------------------------------------");

        System.out.println("---------------------------------------------------------------------");

        System.out.println("---------------me.shijunjie.util.SpringUtil------------------------------------------------------");

        System.out.println("========ApplicationContext配置成功,在普通类可以通过调用SpringUtils.getAppContext()获取applicationContext对象,applicationContext="+SpringUtil.applicationContext+"========");

        System.out.println("---------------------------------------------------------------------");
    }

    //获取applicationContext
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }

    //通过name获取 Bean.
    public static Object getBean(String name){
        return getApplicationContext().getBean(name);
    }

    //通过class获取Bean.
    public static <T> T getBean(Class<T> clazz){
        return getApplicationContext().getBean(clazz);
    }

    //通过name,以及Clazz返回指定的Bean
    public static <T> T getBean(String name,Class<T> clazz){
        return getApplicationContext().getBean(name, clazz);
    }

}

SpringBoot固定资产管理系统:从数据库设计到部署上线全解析 固定资产管理系统是企业后端开发中最高频的业务场景之一,核心围绕资产入库、领用、归还、盘点等生命周期管理展开。SpringBoot凭借自动配置能力与成熟的生态,大幅降低了这类管理系统的开发门槛,同时通过MyBatis-Plus简化持久层操作,利用Redis缓存热点数据并保障编号生成的原子性,结合Spring Security与JWT实现无状态权限认证。本文从需求拆分出发,阐述数据库表结构的关键设计原则,包括金额字段精度控制、树形分类建模与索引优化,随后介绍统一返回结构、全局异常处理、参数校验等工程化实现细节, 阅读详情

相关推荐

SpringBoot+Vue宠物咖啡馆服务操作系统

服务操作系统是面向实体商业场景的实时资源调度平台,其核心在于将物理空间约束、活体服务状态与数字系统深度耦合。基于领域驱动设计(DDD)建模动态服务档期,结合SpringBoot事务一致性保障与Vue弹性状态机实现跨域协同,技术价值体现在对‘不可预测性’的工程化收敛——如温湿度IoT联动、健康档案安全PDF生成、本地消息表最终一致性等。典型应用于宠物寄养、美容预约、人宠共融咖啡空间等需要强实时性与高可靠性的线下服务场景,本质是让代码真正扎根在收银台旁、猫舍门口和咖啡机插座上。

weixin_33796177的博客 391

SpringBoot 程序启动时将数据库的字典表加载进内存中

1.背景 实际开发中,我们需要将查询出来的字典值以字典名字的形式响应给前端, 如1表示男那么,就要在程序中将1转变为男..... 2.字典表结构 3.实现代码 @Component @Slf4j public class CacheDicUtils { private static Map<String, String> dataMap = new HashMap<>(); @Autowired private SysDictionary.

zhishidi的博客 2035

SpringBoot+Vue智慧养老系统:从毕设到生产级架构实战

在物联网与健康管理领域,系统架构设计是保障数据可靠性与业务实时性的基石。其核心原理在于通过前后端分离、微服务化及异步消息处理等技术,构建高可用、可扩展的应用体系。这种架构的技术价值在于能够有效应对高并发数据接入、实现复杂业务逻辑解耦,并支撑实时预警与数据分析。典型的应用场景包括智能硬件数据采集、多角色协同管理平台以及实时监控大屏等。本文以智慧社区居家养老健康管理系统为例,深入剖析了如何利用SpringBoot、MyBatis-Plus、Redis和RabbitMQ等技术栈,实现物联网设备数据的稳定接入与异步

weixin_42611310的博客 356

项目启动加载 将字典表 加载到map中

@Component @Slf4j public class DictConfig implements CommandLineRunner { @Autowired private SysOptionMapper sysOptionMapper; private static Map<String, String> dictMap = new HashM...

maicose的专栏 636

Spring Boot月度绩效考核系统源码解析与本地部署实战

在企业管理系统中,绩效考核模块常被视为核心业务之一,它涉及角色权限、数据隔离、流程状态与报表统计等典型技术点。基于Spring Boot、MyBatis Plus和MySQL等主流技术栈构建的后台管理系统,通过RBAC权限模型实现员工、主管、管理员的分级访问控制,并以状态位驱动考核计划从草稿到归档的完整生命周期。这类系统在中小型团队中应用广泛,既能规范月度打分流程,又能沉淀可追溯的绩效数据。对于开发者而言,阅读并跑通一套完整源码,是理解企业级CRUD、事务处理、权重计算与部署排障的高效路径。本文从项目结构、

weixin_30443747的博客 314

Springboot项目启动时加载数据库数据到内存.rar

博客地址:https://blog.youkuaiyun.com/fukaiit/article/details/92853086 1. 启动后访问http://localhost:8848/code,可见控制台输出codeMap中的值 2. 新建一个只有key和value两个字段的表code 3. 不要轻易浪费积分下载代码,没什么实质内容

springboot将数据库的字典表加载进内存中

springboot将数据库的字典表加载进内存中1、需求2、实现a、实现--逻辑b、实现--代码3、测试 1、需求 在使用字典表的时候,如果每次需要转换的时候都去MySQL数据库里面查询,是非常浪费性能的操作,所以可以把字典表的数据放到内存里面去。 2、实现 a、实现–逻辑 实现的逻辑很简单,首先只需要在项目启动的时候去查询字典表,然后将其放入用static(在项目启动的时候就会初始化)修饰的容器...

SGdan_qi的博客 9470

用FPGA控制步进电机是种什么体验?从状态机到分频器,详解Verilog驱动A4988全流程

本文详细介绍了如何使用FPGA通过Verilog语言控制步进电机,从状态机设计到A4988驱动模块的精准控制全流程。FPGA的并行处理能力和纳秒级响应速度使其在步进电机控制中展现出显著优势,特别适合工业自动化和精密仪器应用。通过实战代码示例,展示了如何实现高效的状态机设计和可编程分频器,为开发者提供了一套完整的FPGA驱动步进电机解决方案。

weixin_30983965的博客 329

springboot启动后加载字典表数据供业务调用

需求:在springboot项目启动完毕之后,自动查询业务字典表,将查询结果存入缓存,供其他代码模块调用(如果数据库中更新了字典表,则需要重新启动项目才能完成更新) 实现方式: 1.配置类实现CommandLineRunner接口作为项目启动入口类 2.业务字典缓存处理类,由上一步调用,将数据存入缓存 3.其他相关工具类 package org.jeecg.modules.config; import org.springframework.boot.CommandLineRunner;

AVATAR 2230

PD虚拟机网络初始化失败的权限修复指南

本文针对Parallels Desktop虚拟机常见的“网络初始化失败”问题,提供了详细的权限修复指南。通过分析问题根源,指导用户安全备份并修改关键的`network.desktop.xml`和`dispatcher.desktop.xml`配置文件,以恢复PD虚拟机的网络连接。文章还包含了修复后的验证步骤及预防措施,帮助用户彻底解决并避免此类权限问题。

qqq44的博客 852

告别版本过低提示!微信3.9登录修复与聊天记录无缝迁移全攻略

本文详细解析了微信3.9版本过低提示的根源,并提供了完整的修复方案和聊天记录迁移指南。通过专用修复工具绕过版本检测,以及新旧版本聊天记录目录对比,帮助用户实现无缝迁移。特别提醒备份重要数据,确保操作安全。

weixin_42535461的博客 3175

spring boot项目初始化,字典加载到内存中

1.项目初始化把常用的字典存到到内存中, import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import java.util.HashMap; i

weixin_42286976的博客 1237

HDMI2.1 FRL流控 概览

HDMI 2.1 FRL的流控本质是。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 2085

jeecg-boot-base-core config 04

本文解析了JeecgBoot框架的关键配置设计,涵盖权限认证、多租户、WebMVC等核心模块。系统通过分层配置类实现技术栈隔离,采用条件装配(@Conditional)实现环境切换能力,支持动态扩展。其中,Shiro+JWT权限链需手动配置60+URL白名单,MyBatis-Plus通过拦截器实现多租户隔离,Druid监控页需定制化去广告。配置体系遵循"约定大于配置"原则,通过YAML驱动JavaBean初始化,同时保持类型安全。优点包括关注点分离、依赖注入、开闭原则支持,但也存在白名单

weixin_47759174的博客 225

抓包网络调试工具 reqable抓包教程

如果CA根证书未安装成功,网络图标是黄色,点击盾牌图标可以进入CA根证书安装界面,详细步骤请阅读。在API调试中,获取流量是第一步也是最基本的操作,这里讲解下如何使用Reqable获取流量,通俗地讲就是抓包。我们可以选择一个图片请求,双击打开详情面板,能够看到该请求的详细信息。如果系统代理未设置,网络图标是黄色,点击网络图标可以自动设置系统代理。此域名的结构树,可以查看该域名下所有请求的目录结构,点击选择可以查看该请求的详情。首先,需要启用Reqable的调试功能,点击最右上角的。打开浏览器,输入地址。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2565

工业激光器核心参数详解与选型实战:从理论到产线落地(五)

本文深入解析了脉冲激光加工的三大核心参数——脉宽、重复频率和脉冲能量的协同作用机制。通过公式推导和产线案例,揭示了参数设置对加工良率的关键影响:1. 脉宽决定热影响区大小,缩短脉宽可显著提升加工精度;2. 重复频率影响加工速度和热积累效应,需平衡效率与质量;3. 脉冲能量决定材料去除量,过大易导致加工缺陷。文中以ABS塑料打标、模具清洗和微孔钻孔为例,展示了参数优化如何将良率从65%提升至99%,并提供了不同应用场景的参数选型表和调试技巧,强调峰值功率比平均功率更具决定性作用。

weixin_44520581的博客 2422

Springboot项目启动时将数据缓存map中

Springboot项目启动时将数据缓存map中,测试通过 注意点 注意项目启动时容器对象还未初始化完成,不能用 @Autowired注入 import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import java.util.HashMap; import java.util.List; import java.util.Map; @Component public class CodeCache {

kang1011的博客 3469

解锁RK3588+RTL8211F:千兆以太网PHY调优秘籍

本文探讨了RK3588芯片搭配RTL8211F千兆以太网PHY的优化方案。文章首先分析了RK3588和RTL8211F的硬件特性,指出时序问题可能源于时钟信号不稳定、传输延迟和PHY内部逻辑延迟。针对这些问题,提出了选用高质量时钟源、优化PCB布线等时序优化策略,以及合理配置硬件参数、优化网络协议等延迟优化方法。在配置实践部分,详细介绍了硬件连接规范和软件配置步骤,并建议使用Iperf、Ping等工具进行性能测试。最后总结了常见问题解决方案,展望了未来PHY芯片和传输技术的发展趋势。这些优化措施可显著提升网

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 288

SpringBoot--多线程处理

本文介绍SpringBoot多线程处理的方案。

IT利刃出鞘的博客 1万+

火灾图像检测识别:cnn卷积神经网络 Adaboost 支持向量机 随机森林 决策树 完整代码数据

火灾图像检测识别:cnn卷积神经网络 Adaboost 支持向量机 随机森林 决策树 完整代码数据

864

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

springboot-cache自定义缓存加载数据字典表

项目需求:项目数据存储在hbase中,每次查询数据都需将一些数据进行转换,对于大数据查询操作频繁连接数据库获取字典值,这会影响整个查询速度。解决方案:1、根据不同业务模块划分,项目中对于数据流处理(单独spark服务),通过redis缓存字典数据。2、前段需要用到字典数据,将数据缓存到.net端。3、web端java服务,考虑到redis还需要安装,运维维护不变,开发人员使用也不方便,并切需要定时...

奋斗的小鸟专栏 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SpringBoot启动时将数据库数据加载到内存的静态map里

SpringBoot启动时将数据库数据加载到内存的静态map里 实现CommandLineRunner接口 实现CommandLineRunner接口,@Order注解里面的参数是类执行的顺序,由小到大顺序。 监听接口方式,启动服务,执行方式时仍然提供服务,服务初始化之后,执行方法。 @Component public class SettingConfig implements CommandLineRunner { public static Map<String,Object>=ne

kang1011的博客 2035

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

[转]【SpringBoot】简述springboot项目启动数据加载内存中的三种方法

一般来说,SpringBoot工程环境配置放在properties文件中,启动的时候将工程中的properties/yaml文件的配置项加载到内存中。但这种方式改配置项的时候,需要重新编译部署,考虑到这种因素,今天介绍将配置项存到数据库表中,在工程启动时把配置项加载到内存中。SpringBoot提供了两个接口: CommandLineRunner 和 ApplicationRunner。实现其中接口,就可以在工程启动时将数据库中的数据加载到内存。使用的场景有:加载配置项到内存中;

mao_mao37的博客 2336

Spring Boot与缓存

Spring Boot缓存

qq_43526183的博客 622

spring启动时加载字典表数据放入缓存map

package com.anzhi.heifer.service.sys.impl; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map

qq_31459039的博客 5308

Spring的web应用启动加载数据字典

1、配置文件中加入配置 在web.xml中加入  监听配置, 但要写在Spring配置的下面 &lt;!-- Spring 框架 --&gt; &lt;listener&gt; &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt; ...

雨陆聪辰的博客 1529
上一篇: 关于crm项目的思考
下一篇: remains in conflict解决方法
CaculateByte
博客等级 码龄9年 7粉丝 11原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值