网站asp源码,做网站用sql和mysql,网站规划怎么写,安徽六安地图参考文章 Jackson使用ContextualSerializer在序列化时获取字段注解的属性 使用BeanSerializerModifier定制jackson的自定义序列化(null值的处理) 关于使用ContextualSerializer的补充 BeanSerializerFactory中有如下代码#xff0c; 关于设置SerializerModifier#xff0c;如… 参考文章 Jackson使用ContextualSerializer在序列化时获取字段注解的属性 使用BeanSerializerModifier定制jackson的自定义序列化(null值的处理) 关于使用ContextualSerializer的补充 BeanSerializerFactory中有如下代码 关于设置SerializerModifier如下 两种实现序列化的方式 方式1自定义json serialize 实现ContextualSerializer接口 1. bo中自定义ReferSerialTransfer注解 2. 自定义注解 ReferSerialTransfer.java 3. 自定义 json serialize实现 4. springmvc 配置文件中 converter的配置 mvc:annotation-drivenmvc:message-converters register-defaultstruebean classorg.springframework.http.converter.StringHttpMessageConverterconstructor-arg valueUTF-8 /property namewriteAcceptCharset valuefalse //beanbean classorg.springframework.http.converter.json.MappingJackson2HttpMessageConverterproperty nameprettyPrint valuetrue //bean/mvc:message-converters
/mvc:annotation-driven 方式2设置MappingJackson2HttpMessageConverter 对应的SerializerFactory 的SerializerModifier 1.bo中serializer注解JsonSerializer 2. springmvc配置文件中的converter配置 mvc:annotation-drivenmvc:message-converters register-defaultstruebean classorg.springframework.http.converter.StringHttpMessageConverterconstructor-arg valueUTF-8 /property namewriteAcceptCharset valuefalse //beanbean factory-beanmappingJackson2HttpMessageConverterFactory factory-methodinitclassorg.springframework.http.converter.json.MappingJackson2HttpMessageConverterproperty nameprettyPrint valuetrue //bean/mvc:message-converters
/mvc:annotation-drivenbean idmappingJackson2HttpMessageConverterFactory classcom.hjz.refer.utils.MappingJackson2HttpMessageConverterFactory/ 3. MappingJackson2HttpMessageConverterFactory.java 4. 自定义BeanSerializerModifier.java Jackson序列化实例 是这样的一个场景 人员person和用户user进行1对1关联时一般是 person中维护着user的id或user中维护着person的id。前端展示的时候需要展示人员以及关联用户的code 和 name最简单暴力的做法就是根据person id 拿到person对象再根据person中的user id拿到user对象最后重新组装一下数据。 试想一下这个思路项目启动时把user的数据id {id, code, name}同步到缓存中在序列化 person 对象中 user id时做一点儿手脚根据 user id 去缓存如果缓存没有则查询数据库中拿到 对应的{id, code, name}并序列化该结果。从而达到了 id 转 {id, code, name}的效果。 写了一个测试工程目录结构如下。 感兴趣的话请查看我的github。 参考源码 转载于:https://www.cnblogs.com/hujunzheng/p/6594320.html