почему мы всегда помещаем Hibernate, Spring и Strut в одно приложение? - PullRequest
3 голосов
/ 09 августа 2011

Определенно, я говорю о работе с паттерном MVC.
Определенно, Hibernate облегчает нашу жизнь с помощью слоя Model.
Но Spring и Strut работают и с Controller, и с View.
Итак, мой вопрос: " Я не могу понять, почему другие парни всегда ставят оба Spring & Strut в одном приложении, в то время как нам нужен только один из них (Strut или Spring). Если кто-то это понимает, скажите, пожалуйста, спасибо!"
Я всего лишь ребенокв мире Java, поэтому любые комментарии приветствуются.

Ответы [ 7 ]

8 голосов
/ 09 августа 2011

Но Spring и Strut работают и с Controller, и с View.

Spring - это много вещей , как вы можете видеть на этой диаграмме:

spring modules overview

Одной из этих вещей является Spring MVC framework .Я согласен, что (обычно) не имеет смысла использовать Spring MVC вместе со Struts (хотя на больших сайтах разные отделы могут предъявлять разные требования).

Однако Spring - это еще и много других вещей, прежде всего платформа IOC , и поэтому имеет смысл объединить различные технологии моделей и представлений.

3 голосов
/ 09 августа 2011

Spring - это и Spring - контейнер IOC и Spring MVC - фреймворк веб-действий . Struts - это только фреймворк для веб-действий. Поэтому, если вы предпочитаете Struts, а не Spring MVC, но также хотите контейнер IOC, вы будете использовать Struts с Spring.

Кроме того, Spring также предоставляет декларативное управление транзакциями, инфраструктуру безопасности, набор вспомогательных классов JDBC и т. Д., Которые вы, возможно, захотите использовать в приложении Struts / Hibernate.

1 голос
/ 09 августа 2011

Допустим, что Spring и Struts - это фреймворки, которые в некоторых аспектах перекрываются. Даже если я думаю, что, если вы используете пружину в полной мере, не должно быть необходимости в стойках вообще. Но люди склонны придерживаться того, к чему они привыкли. Поскольку Struts существует уже довольно давно, существует множество приложений, основанных на этом, и множество людей, которые сделали из этого профессию и никогда бы не стали ее выбрасывать. Вот почему я видел довольно много таких гибридных приложений.

1 голос
/ 09 августа 2011

Я думаю, вы неправильно поняли MVC Pattern. Модель не о настойчивости, а о бизнес-логике в первую очередь. Это обычно включает в себя некоторые постоянства и классы обслуживания. Для этого многие люди выбирают Hibernate для постоянства и Spring IoC для внедрения зависимостей.

Для веб-приложения View и Controller хорошо известна веб-инфраструктура mvc - Struts и Spring MVC. Сам Spring состоит из множества компонентов, Spring IoC и Spring MVC - два из них. Spring MVC является эквивалентом Struts, поэтому вы не можете использовать их вместе. Но это нормально, чтобы объединить Struts и Spring IoC.

1 голос
/ 09 августа 2011

Я бы не сказал всегда. Лично я никогда не совмещал Spring и Struts в одном приложении, и я готов поспорить, что большинство проектов Spring / Hibernate также не используют Struts.

1 голос
/ 09 августа 2011

Весна не просто MVC.Он имеет гораздо больше интеграций, таких как база данных, безопасность, DI и т. Д. Обычно вы хотите использовать одну из этих функций, если вы используете Spring (что также не означает, что вы должны использовать Spring MVC).

0 голосов
/ 23 июня 2014

Struts - обычно предоставляет инфраструктуру MVC (большинство приложений поддержки и обслуживания производства уже интегрированы с ней).Spring - для добавления / добавления новых компонентов без нарушения существующих классов / кода Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...