我们使用Spring 2.5和spring-json来支持JSON。我们在views.xml中有以下配置
<bean name="jsonView" class="org.springframework.web.servlet.view.json.JsonView"/>
现在,我们已经了解到Spring 3.x在内部使用JackSon API来支持JSON。我的问题是如何覆盖Spring 2.5的默认实现以使用JackSon - Spring 3.x开始的方式。
注意:我们不想迁移我的Spring版本,但是,希望Spring 2.5使用这个JackSon API而不是Spring-Json
答案 0 :(得分:0)
是否可以在不破坏它的情况下替换Spring的JSON支持?
不幸的是,Spring自己的文档指出Spring-json是“深度”现有Spring 2.5框架的一个组件。
请参阅:http://spring-json.sourceforge.net/
那就是说 - 删除spring-json上的依赖项,添加自己的JSON解析器,重建spring就可以了。我认为这需要大量的工作,因为spring-json是整个Spring MVC套件的主要组件。
替代方案:构建外观
此外,我不知道任何针对Json库的Java EE规范,这意味着所有内部Spring json依赖项都很有可能特定于Spring-json定义的API [比较这个,例如,使用JPA,它通常由Java EE定义,因此很容易替换许多DAO框架]。
通常,您可以将任何类型的JSon库打包为可在应用程序上下文中使用的Spring组件。现在 - 如果您使用Facade模式重新实现必要的接口,使用Jackson,您的Spring 2.5版本应该可以正常工作。或者,您可以使用Spring的面向方面的注入库拦截感兴趣的Json相关调用,并在必要时重新路由它们。
然而,这些都是高级任务 - 它们将是很好的学习项目,但我不确定如果这是一个生产应用程序,时间投资真的会得到回报。
http://www.javaworld.com/javaworld/jw-02-2008/jw-02-springcomponents.html