由于项目使用的是fastjson,也无法换成其他的序列化框架,所以研究了一下他对泛型序列化和反序列化的支持能力,最终解决了这个问题。
要达成的目标
我的封装方式属于通用封装,我要达到的目标是如下的使用方式:
放入数据:
Map<String, OffheapDTO> mapxx = new HashMap<>(); mapxx.put("1",new OffheapDTO().create()); mapxx.put("2",new OffheapDTO().create()); mapxx.put("3",new OffheapDTO().create()); mapxx.put("4",new OffheapDTO().create()); mapxx.put("5",new OffheapDTO().create()); offheapCacheWrapper.putMap("maptest", mapxx);
获取数据:
Map<String, OffheapDTO> resultmap = offheapCacheWrapper.queryMap("cachemap")
OffheapDTO对象的定义方式如下:
class OffheapDTO implements Serializable, Comparable{ private String name; private String address; private String mark; private int order; //省略getset }
也就是我可以随意的把任何对象进行序列化操作,然后可以随