従来の実装を Spring IBatis モデルに移行しています。Springモデルを使用して、これらのオブジェクトをよりクリーンな方法でモデル化することに行き詰まっています
2つのクラスがあるとしましょう[どちらもシングルトンです]
DAOImplは DAOInterface を実装します
CacheDAOImplは DAOInterfaceを実装します
CacheDAOImplでのオブジェクトの初期化を示すコード スニペット
.....
private static CacheDAOImpl ourInstance = new CacheDAOImpl();
public static CacheDAOImpl getInstance()
{
return ourInstance;
}
private CacheDAOImpl()
{
// intialiazes all caches
}
CacheDAOImplオブジェクトの使用法を示すDAOImplのコード スニペット
private DAO getCacheDAO()
{
return CacheDAOImpl.getInstance();
}
@Override
public SomeObject lookUpId()
{
return getCacheDAO().lookUpId();
}
上記の実装では、DAOImpl でメソッドが呼び出されたときにのみキャッシュが初期化されますが、初期化の Spring モデルでは、これを行うことができますか?. オブジェクト DAOImpl は常に非遅延 Bean によってアクセスされるため、ここでは lazy-init が機能しない場合があります。