一、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