3

我们使用 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

4

1 回答 1

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 组件,该组件将在应用程序上下文中可用。现在 - 如果您使用外观模式重新实现必要的接口,在后台使用 Jackson,您的 Spring 2.5 版本应该可以正常工作。或者,您可以使用 Spring 的面向方面的注入库拦截感兴趣的 Json 相关调用,并根据需要重新路由它们。

然而,这些都是高级任务——它们将是优秀的学习项目,但我不确定如果这是一个生产应用程序,时间投资是否真的会得到回报。

http://www.javaworld.com/javaworld/jw-02-2008/jw-02-springcomponents.html

于 2012-01-14T12:26:11.517 回答