我们正在将我们的遗留实现迁移到 Spring IBatis 模型。我有点卡在使用 Spring 模型以更清洁的方式对这些对象进行建模
假设我有两个班级[他们都是单身]
DAOImpl 实现DAOInterface
CacheDAOImpl实现DAOInterface
显示CacheDAOImpl中的对象初始化的代码片段
.....
private static CacheDAOImpl ourInstance = new CacheDAOImpl();
public static CacheDAOImpl getInstance()
{
return ourInstance;
}
private CacheDAOImpl()
{
// intialiazes all caches
}
来自DAOImpl的代码片段显示了CacheDAOImpl对象的使用情况
private DAO getCacheDAO()
{
return CacheDAOImpl.getInstance();
}
@Override
public SomeObject lookUpId()
{
return getCacheDAO().lookUpId();
}
在上面的实现中,只有在 DAOImpl 中调用方法时才会初始化缓存,而使用 Spring 初始化模型,我们可以这样做吗?惰性初始化在这里可能不起作用,因为对象 DAOImpl 将始终由非惰性 bean 访问