Spring AMQP 发送JSON格式的对象及Java 8时间转换成JSON格式
2016-12-09 23:41
519 查看
和
这样还不行,还需要在需要序列化的类的Java 8时间字段上面标注一下Jackson库的注解:
同时需要提供一个空的构造函数,不然会出现
@RequestBody注解类似,使用AMQP发送消息时如果需要把对象序列化成JSON格式的对象,也需要设置
MessageConverter。而在JSON序列化的库中,口碑最好而且更新比较稳定的便是Jackson库,而且添加了对Java 8时间API的支持。
//以下配置RabbitMQ消息服务 @Bean public ConnectionFactory rabbitConnectionFactory() { CachingConnectionFactory connectionFactory = new CachingConnectionFactory("localhost"); connectionFactory.setUsername("guest"); connectionFactory.setPassword("guest"); return connectionFactory; } @Bean public RabbitTemplate rabbitTemplate() { RabbitTemplate template = new RabbitTemplate(rabbitConnectionFactory()); template.setMessageConverter(jsonMessageConverter()); return template; } @Bean public MessageConverter jsonMessageConverter() { return new Jackson2JsonMessageConverter(); }
这样还不行,还需要在需要序列化的类的Java 8时间字段上面标注一下Jackson库的注解:
private static final long serialVersionUID = 548481104; private Integer id; private Integer userid; private String outtradeno; private String tradeno; private Double amount; @JsonSerialize(using = LocalDateTimeSerializer.class) @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime time; private Integer status; private String phonenum; public Baobiaoorder() {}
同时需要提供一个空的构造函数,不然会出现
JsonMappingException: No suitable constructor这样的错误。然后就可以使用RabbitTemplate来发送这个类的对象了:
Baobiaoorder order = new Baobiaoorder(1, 2, "asjdfj", null, 1.0, LocalDateTime.now(), WAIT_BUYER_PAY, "189xxxxxxxx"); rabbitTemplate.convertAndSend("pay-success-exchange","pay-success", order);
相关文章推荐
- 百度天气api开发 全解析xml和json格式 使用json-lib jsonObject、 Gson 方式把json 转换成 java对象
- json对象、json格式字符串、java对象【使用此net.sf.json.JSONObject将java对象[比如数组集合Map、Map扩展]转换成json格式字符串】
- GSON实现Java对象与JSON格式对象相互转换的完全教程
- Json格式与java对象之间的转换
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- 用Gson包进行java对象和Json格式字符串的相互转换
- Spring 4MVC 返回Java 8 时间JSON格式的数据
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- java将实体对象转换成JSON格式的字符串
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- 使用jacksonjava对象转换成标准的json格式,便于与easyui...
- 使用jackson将java对象转换成标准的json格式,便于与easyui的datagrid交互
- 当对象转换成JSON的时候处理时间格式
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- json数据与JAVA数据的转换 jsonJavaBean.netApache 自己编写了一个工具类,处理页面提交json格式数据到后台,再进行处理成JAVA对象数据 1、DTO:Data T
- ajax打印对象时,转换由java对象转为Json格式的String时遇到的Hibernate问题
- JAVA实现json和对象间的相互转换,支持复杂对象格式
- java中利用jar包将list,对象等转换为json数据格式
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- Java转换Json日期/Date(1487053489965+0800)/格式以及js时间格式 Tue Feb 14 2017 14:06:32 GMT+0800