我有一个提供配置数据的弹簧服务。当 GUI 调用该服务时,它会从数据库中加载配置数据。事实证明,这种情况在单个请求的呈现过程中经常发生。我想通过缓存配置数据来优化它。但是,我不确定这是否是一种好的编程风格,或者是否“允许”在服务中拥有实例变量。
这是我正在考虑做的一些示例代码:
@Serivce("MyConfigService")
public class MyConfigServiceImpl implements MyConfigService {
private Config cachedConfig;
@Override
public Config loadConfig() {
if (cachedConfig != null) {
// load config
cachedConfig = loadedConfig;
}
return cachedConfig;
}
@Override
public saveConfig(Config config) {
cachedConfig = null;
// save the configuration
}
}