首页 > 其他分享 >springboot启动时缓存数据

springboot启动时缓存数据

时间:2023-10-14 17:34:15浏览次数:43  
标签:java 常量 启动 考勤 String 缓存数据 key public springboot

一、Emos系统的常量数据

sys_config数据表中保存了Emos系统的常量配置信息,其中就包括了考勤部分的常量信息。例如每天上班考勤从几点开始,截止到几点。下班考勤从几点开始,几点结束。

 

因为这些常量信息跟考勤模块息息相关,所以我们要编写Java代码,在SpringBoot项目启动的时候,就去数据库读取这些常量信息,然后缓存成Java对象,全局都可以使用。

二、读取常量数据

SysConfigDao.xml文件中声明查询语句

<select id="selectAllParam" resultType="com.example.emos.wx.db.pojo.SysConfig">
	SELECT param_key, param_value FROM sys_config WHERE status = 1;
</select>
代码块

 

SysConfigDao.java中声明抽象方法

@Mapper
public interface SysConfigDao {
    public List<SysConfig> selectAllParam();
}
代码块

创建SystemConstants.java常量封装类

@Data
@Component
public class SystemConstants {
    public String attendanceStartTime;
    public String attendanceTime;
    public String attendanceEndTime;
    public String closingStartTime;
    public String closingTime;
    public String closingEndTime;
}
代码块

EmosWxApiApplication.java文件中创建init()方法,读取常量数据并缓存

@PostConstruct
    public void init() {
        List<SysConfig> allParam = sysConfigDao.getAllParam();
        for (SysConfig sysConfig : allParam) {
            String key = sysConfig.getParamKey();
            key = StrUtil.toCamelCase(key);
            String value = sysConfig.getParamValue();
            try {
                Field field = constants.getClass().getDeclaredField(key);
                field.set(constants, value);
            } catch (Exception e) {
                log.error("getDeclaredField执行异常", e);
            }

        }
    }

  

标签:java,常量,启动,考勤,String,缓存数据,key,public,springboot
From: https://www.cnblogs.com/sgj191024/p/17764440.html

相关文章

  • 启动wsl ubuntu 报错
    解决方案:1、管理员打开PwoerShell2、输入Enable-WindowsOptionalFeature-Online-FeatureNameMicrosoft-Windows-Subsystem-Linux(如下图所示)  ......
  • Springboot中使用RabbitMq
    代码地址:https://gitee.com/Aes_yt/middleware-demo/tree/master/rabbitmq安装RabbitMq1.docker拉取镜像dockerpullrabbitmq:3.9.29-management2.创建rabbitmq容器dockerrun-d--namerabbitmq-p5672:5672-p15672:15672rabbitmq:3.9.29-management3.访问地......
  • 配置nginx开机启动
    切换到/lib/systemd/system/目录,创建nginx.service文件vimnginx.service[unit]description=nginxafter=network.target[service]type=forkingexecstart=/usr/local/nginx/sbin/nginxexecreload=/usr/local/nginx/sbin/nginxreloadexecstop=/usr/local/nginx/sbin/......
  • 下载的PC游戏启动后报错:无法加载 DLL“steam_api64”: 动态链接库(DLL)初始化例程失败
    无法加载DLL“steam_api64”:动态链接库(DLL)初始化例程失败。(异常来自HRESU解决方式:将文件夹拷贝到Steam-->steamapps文件夹下面还好是忍者神龟抛了个异常,才找到了问题所在,论抛异常的重要性!!!忍者神龟如龙......
  • 将java程序,安装为windows服务,开机自启动
    借助WindowsServiceWrapper小工具,将java程序转换为Windows服务,在服务中心配置自启动,从而在开机时windows自行启动服务。WindowsServiceWrapper下载URL:https://github.com/winsw/winsw/releases如下图,为windows32位和64位的工具文件 32位:链接: https://pan.baidu.co......
  • lower_case_table_names=1 mysql启动失败问题
    1先停掉mysql数据库2删除mysql数据,在初始话时,数据所在的位置3修改/etc/my.cnf配置,添加lower_case_table_names=14重新初始化./mysqld--user=mysql--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data--initialize-insecure--lower-case-table-names=1;注意初始化......
  • 采用SpringBoot+原生HTML+MySQL开发的电子病历系统源码
    电子病历系统采用“所见即所得、一体化方式”,协助医生和护士准确、标准、快捷实现病历书写、修改、审阅、打印、体温单浏览、医嘱管理等,是提供病历快速简洁化完成的一系列综合型医生病历工作平台。本套电子病历系统主要面向医疗机构医生、护士,提供对住院病人的电子病历书写、保存......
  • Hive-服务启动和停止命令
    1、启动命令#!/bin/bashnohuphive--servicemetastore>>$HIVE_HOME/logs/metasotre.log2>&1&nohuphive--servicehiveserver2>>$HIVE_HOME/logs/hiveserver.log2>&1&2、停止命令#!/bin/bashprocess="hive"PID=$(p......
  • springboot2.4下使用JUnit依赖注入失败的解决方案
    首先在pom.xml下引入JUnit必须的包:<dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId&......
  • Tomcat启动出现乱码解决方案
    解决方案就是把所有相关的地方编码方式都设为utf-8Windows命令行参考我这篇博文链接Tomcat日志配置在tomcat主目录下找到/conf/logging.properties这个文件,用文本编辑器打开,其中有一行java.util.logging.ConsoleHandler.encoding=UTF-8,这项新版本Tomcat一般已经设置为了ut......