/** * 系统配置初始化 * 基础类型和字符串类型属性可自动从数据库中读取匹配 * 其他类型会被忽略 */ public void init() { config = new AppConfig(); Map<String, String> configs = new HashMap<String, String>(); for (SystemConfig config : systemConfigMapper.findAll()) { configs.put(config.getId(), config.getValue()); } Field[] fields = config.getClass().getDeclaredFields(); for (Field field : fields) { if (field.getType().isPrimitive() || field.getType().equals(String.class)) { String key = field.getName(); if (configs.containsKey(key)) { try { ReflectionUtils.makeAccessible(field); if (field.getType().equals(boolean.class)) { field.set(config, "true".equalsIgnoreCase(configs.get(key))); } else if (field.getType().equals(int.class)) { field.set(config, Integer.parseInt(configs.get(key))); } else { field.set(config, configs.get(key)); } logger.info("配置参数:{}={}", key, field.get(config)); } catch (Exception e) { logger.error("配置参数{}出错!", key, e); } } } } }
配置属性以及路径之类的初始化的时候读取数据库的数据
最新推荐文章于 2024-03-18 17:59:28 发布