構成データを提供する春のサービスがあります。サービスが 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
}
}