我的做法是,没有象spring 提出的那种由一个存储在servletcontext的cacheManager来对cache的数据对象进行集中管理(它是不是这样提的?我倒有点忘记了)。主要是感觉这样每次都得先对数据取出来,再cast,比较麻烦。我一般做法是针对各个模块,比如权限,部门等各写几个DataKeeper类,以static方法发布存取数据的接口。但这些static只由service层的组件调用,web层只能通过service来调用这些数据。
但感觉这样一个系统通常会有10几个DataKeeper类甚至更多。而且更新cache数据的时候需要一个个去更新(这个不知道有没有好的解决方法,我的想法是针对数据操作方法以aop方式更新各个dataKeeper)。总之就是觉的不妥当。