Интеграция JackSon для JSON View с Spring 2.5 - PullRequest
3 голосов
/ 08 декабря 2011

Мы используем 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 использовал этот API-интерфейс JackSon вместо Spring-Json

1 Ответ

0 голосов
/ 14 января 2012

Можно ли заменить поддержку Spring JSON, не нарушая ее?

К сожалению, собственная документация Spring утверждает, что Spring-json "глубоко" является компонентом существующей среды Spring 2.5.

См .: http://spring -json.sourceforge.net /

Тем не менее - удаление зависимостей от spring-json, добавление вашего собственного анализатора JSON и перестройка Springосуществимо.Я предполагаю, что это потребует большой работы, учитывая, что spring-json является основным компонентом всего пакета Spring MVC.

Альтернатива: построение фасада

Кроме того, я не знаю ни одной спецификации Java EE для библиотек Json, которая подразумевает, что есть все шансы, что всевнутренние зависимости Spring от json специфичны для API, определенных Spring-json [сравните это, например, с JPA, который в общем определяется Java EE, так что многие структуры DAO легко заменить].

Как правило, вы можете упаковать любую библиотеку JSon любого типа как компонент Spring, который будет доступен в контексте приложения.Теперь - если вы переопределите необходимые интерфейсы, используя шаблон фасада, используя Джексона под капотом, ваша версия Spring 2.5 должна работать так же.В качестве альтернативы, вы можете перехватывать вызовы, связанные с Json, используя библиотеки аспектно-ориентированных инъекций Spring, и при необходимости перенаправлять их.

Опять же, однако, это все сложные задачи - они будут отличными учебными проектами, но я неУверены, что затраты времени действительно окупятся, если это производственное приложение.

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

...