需求:

当请求HEADER包含 Accept:application/json或者url 以.json结束时,响应需将javaBean转为json,响应头为 Content-Type:application/json;charset=UTF-8

请求:

spring-mvc-showcase 学习之 message-converters

后台响应方法:

spring-mvc-showcase 学习之 message-converters

很明显响应方法返回的为一个对象,但为什么最终浏览器接收到是json呢?

这是框架的神奇之处,框架帮助你完成对象转json的任务。

spring 框架使用  message-converters 来完成这个转换,使得最终响应给浏览器的是json。

接下来message-converters 又有什么神奇之处呢。

1:默认情况下message-converters 是调用 Jackson 来完成对象转json的工作。

spring-mvc-showcase 学习之 message-converters

spring-mvc-showcase 学习之 message-converters

2: fastjson 貌似是比 jackson 更好的选择,下面配置将会使得message-converters 是调用 fastjson 来完成对象转json的工作。

spring-mvc-showcase 学习之 message-converters

spring-mvc-showcase 学习之 message-converters

spring-mvc-showcase 学习之 message-converters

3: 灵活性。

通过简单的配置即使得fastjson替换掉Jackjson。

当然有天如果你发现比fastjson更强大的工具也可以随时将fastjson替换掉而不影响任何你写过的代码。

4: 总结

可能你知道spring的核心是Ioc,但也许你不知道这个配置是Ioc的具体应用!!!

5: 疑问

为什么fastjson 能替换Jackson ,又是如何超越的,背后的开发者又有什么样的故事!

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/qidis/blog/845353

相关文章:

  • 2021-10-20
  • 2021-07-13
  • 2021-07-09
  • 2021-06-02
  • 2022-12-23
  • 2021-09-05
  • 2022-12-23
猜你喜欢
  • 2021-05-18
  • 2022-12-23
  • 2021-08-02
  • 2022-12-23
  • 2022-12-23
  • 2021-04-25
  • 2021-07-15
相关资源
相似解决方案