import java.util.HashMap;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 启动服务后,将数据库数据写入系统内存中(相当于全局静态变量,可以直接调用)</br>
* 注意:如果定义为final,需要重启应用服务器,才能重新加载新数据
*/
@Component
public class SystemDataCache {
private static final Logger logger = LoggerFactory.getLogger(SystemDataCache.class);
public static Map<String, Object> systemDataCacheMap = new HashMap<>();
@Autowired
BaseFunctions baseFunctions;
@PostConstruct
public void setSysDataCache() {
logger.info("正在加载系统配置...");
systemDataCacheMap.put("sysName", baseFunctions.getSystemName());
systemDataCacheMap.put("loginMode", baseFunctions.getLoginType());
}
@PreDestroy
public void emptyCache() {
if (null != systemDataCacheMap && systemDataCacheMap.containsKey("sysName")) {
systemDataCacheMap.clear();
}
}
}