/**
* 系统配置初始化
* 基础类型和字符串类型属性可自动从数据库中读取匹配
* 其他类型会被忽略
*/
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);
}
}
}
}
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-42904.html