Jac*_*ack 4 java service spring
我有一个提供配置数据的 spring 服务。当 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
}
}
Run Code Online (Sandbox Code Playgroud)
拥有实例变量(不由 spring 管理)会导致服务变得线程不安全。所以我尽量避免它们,或者确保它们是线程安全的。
您可能需要查看@configurable注释@postconstuct来实现您的目标。
| 归档时间: |
|
| 查看次数: |
12877 次 |
| 最近记录: |