Разница между Spring MVC и Spring Boot

Я только начал изучать Spring. На следующем этапе я хотел бы разработать более крупные веб-приложения.

Теперь мне интересно, стоит ли мне начинать с Spring Boot или Spring MVC. Я уже прочитал некоторые вещи, но это сбивает с толку, потому что оба выглядят одинаково.

Так в чем же разница между ними?

Ответ 1

  • Spring MVC - это полная HTTP-ориентированная среда MVC, управляемая Spring Framework и основанная на сервлетах. Это было бы эквивалентно JSF в стеке JavaEE. Самый популярный элементы в нем являются классами, помеченными @Controller, где вы реализуете методы, к которым вы можете обращаться, используя разные HTTP-запросы. Он имеет эквивалент @RestController для реализации API на основе REST.
  • Spring boot - это утилита для быстрой настройки приложений, предлагающая готовую конфигурацию для сборки Пружинные приложения. Как вы знаете, Spring интегрируется широкий спектр различных модулей под его зонтиком, как spring-core, spring-data, Spring-Web (кстати, Spring Spring MVC) и так далее. С помощью этого инструмента вы можете указать Spring, сколько из них использовать, и вы получите быструю настройку для них (позже вы сможете изменить это самостоятельно).

Итак, Spring MVC - это фреймворк, который будет использоваться в веб-приложениях, а Spring Boot - это инициализированный готовый к работе инициализатор проекта на основе Spring. Возможно, вам будет полезно посетить Spring MVC tag wiki, а также Spring Boot tag wiki в SO.

Ответ 2

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

Я думаю, что для разработки обычных приложений Spring или для начала изучения Spring рекомендуется использовать Spring Boot. Это значительно облегчает работу, готово к производству и быстро получает широкое распространение.

Я видел, как начинающие задают этот вопрос, потому что в STS (Spring Tool Suite) есть два мастера: один для создания проекта Spring Boot, а другой для создания проекта Spring MVC. Поэтому я бы порекомендовал создать проект Spring Boot и выбрать в качестве модуля Web.

Ответ 3

Nothing to write.... :) Это самый простой способ сделать различия между этими двумя.

Ответ 4

Spring MVC - это подпроект Spring Framework, предназначенный для проектирования и разработки приложений, использующих шаблон MVC (Model-View-Controller). Spring MVC предназначен для полной и полной интеграции с Spring Framework и транзитивно, с большинством других подпроектов.

Spring Boot можно понять из этой статьи команды Spring Engineering. Он предположительно самоуверенный, то есть он активно поддерживает определенный стиль быстрого развития, но он разработан достаточно хорошо, чтобы учесть исключения из правила, если хотите. Короче говоря, это соглашение о методологии конфигурации, которое готово понять вашу необходимость нарушить соглашение, когда это оправдано.

Ответ 5

С годами spring становилась все более сложной, так как были добавлены новые функции. Просто зайдите на page- https://spring.io/projects, и мы увидим все весенние проекты, которые мы можем использовать в нашем приложении для различных функций. Если нужно запустить новый проект Spring, мы должны добавить путь сборки или добавить зависимости maven, настроить сервер приложений, добавить конфигурацию Spring. Поэтому для запуска нового весеннего проекта нужно приложить немало усилий, поскольку в настоящее время мы должны делать все с нуля. Spring Boot является решением этой проблемы. Пружинный ботинок был построен поверх существующих пружинных рамок. Используя пружинную загрузку, мы избегаем всего стандартного кода и конфигураций, которые мы должны были сделать ранее. Таким образом, загрузка Spring помогает нам использовать существующие функции Spring более надежно и с минимальными усилиями.

Особенности весны boot-

Автоконфигурация - нет необходимости вручную настраивать сервлет диспетчера, сопоставления статических ресурсов, загрузчик источника свойств, конвертеры сообщений и т.д. Управление зависимостями. Различные версии часто используемых библиотек предварительно выбираются и группируются в разные начальные POM, которые мы можем включить в ваш проект. Выбирая одну версию Spring Boot, мы неявно выбираем десятки зависимостей, которые мы должны были бы выбрать и согласовать сами. Example- Расширенная внешняя конфигурация. Существует большой список свойств bean-компонентов, которые можно настроить с помощью файла application.properties, не затрагивая конфигурацию java или xml. Поддержка производства - мы получаем проверку работоспособности, метрики приложений и jvm, jmx через http и еще несколько бесплатных вещей. Runnable Jars - мы можем упаковать ваше приложение в качестве runnable jar со встроенным tomcat, чтобы он представлял собой автономный модуль развертывания

Reference- Spring Boot - JavaInUse

Ответ 6

Вот некоторые основные моменты, которые отличают Spring и Spring Boot:

Spring :

  1. Основным отличием является "Тест-способность".
  2. Spring пришла с ДИ и МОК. Посредством всей тяжелой работы, выполняемой системой, нам не нужно выполнять какую-либо работу (например, обычно мы определяем объект класса вручную, но через Di мы просто аннотируем @Service или @Component - соответствующие классы управляют ими).
  3. С помощью аннотации @Autowired мы легко высмеиваем ее во время модульного тестирования.
  4. Дублирование и Сантехнический код. В JDBC мы пишем один и тот же код несколько раз для выполнения любых операций с базами данных. Spring решает эту проблему с помощью Hibernate и ORM.
  5. Хорошая интеграция с другими фреймворками. Как Hibernate, ORM, Junit & Mockito.

Весенний ботинок:

  1. Создайте быстрое приложение, чтобы вместо управления одним большим веб-приложением мы разделили их по отдельности на разные микросервисы, которые имеют свои собственные возможности и возможности.
  2. Автоконфигурация с использованием Web Jar: В обычном Spring есть много настроек, таких как DispatcherServlet, компонентное сканирование, View Resolver, Web Jar, XML. (Например, если я хочу настроить источник данных, Entity Manager Transaction Manager Factory). Настроить автоматически, когда он недоступен, используя путь к классам.
  3. Поставляется с Spring Spring Starters по умолчанию, который поставляется с некоторой зависимостью конфигурации Spring по умолчанию (например, Spring Core, Web-MVC, Jackson, Tomcat, Validation, Data Binding, Logging). Не беспокойтесь и о версии.

Примечание: это не содержит все точки.

Ответ 7

SpringBoot на самом деле предварительно настроен, что уменьшает конфигурацию котла и обеспечивает простой или быстрый способ запуска вашего приложения.

SpringBoot берет головную боль конфигурации от разработчика к себе, а не к Spring.

Неявно SpringBoot основан на концептуальной концепции Spring, такой как bean, контроллер, службы, jpa и т.д.

Можно сказать, что SpringBoot является оберткой Spring.

В SpringBoot по умолчанию порт сервера равен 8080, но если вы хотите изменить, перейдите в свой application.properties и напишите

server.port = 8084

Ответ 8

  • Используя spring boot, вам не нужно будет строить конфигурацию. Это будет сделано автоматически при создании проекта.

  • Если вы используете spring MVC, вам нужно самостоятельно сконфигурировать конфигурацию. Это сложнее, но это очень важно.

Ответ 9

Spring MVC - это веб-фреймворк, основанный на контроллере модельного представления (MVC), под Spring Framework. Это оригинальный веб-фреймворк, основанный на Servlet API. Он предоставляет несколько готовых к использованию функций для создания веб-приложений.

  • Четкое разделение ролей. Каждая роль - контроллер, валидатор, объект команды, объект формы, объект модели, DispatcherServlet, отображение обработчика, преобразователь представления и т.д. - может быть выполнена специализированным объектом.
  • Мощная и простая конфигурация классов инфраструктуры и приложений, таких как JavaBeans.
  • Настраиваемая привязка и проверка.

  • Настраиваемое отображение обработчика и разрешение просмотра.

  • Мощная тема и локальные функции разрешения.

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

  • Одна из лучших готовых к использованию платформ микроуслуг.

  • Использование интеллектуального подхода по сравнению с конфигурацией, который значительно сокращает фазу запуска и настройки вашего проекта.

  • Мощное и гибкое управление конфигурацией с использованием файла application.properties или yml.

  • Модуль автоконфигурации.

  • Spring Boot запускается, чтобы предложить готовую к использованию автоконфигурацию для вашего приложения.

  • Готовый к производству исполнительный модуль.

  • Это упрощает зависимости Spring, принимая взвешенное мнение.

Ответ 10

Проще говоря, это можно сформулировать так:

Spring boot = Spring MVC + Auto Configuration(Don't need to write spring.xml file for configurations) + Server(You can have embedded Tomcat, Netty, Jetty server).

А Spring Boot является платформой Opinionated, поэтому его сборка учитывает быструю разработку, меньше времени на настройку и очень хорошую поддержку сообщества.

Ответ 11

Не повторяя то же самое в предыдущих ответах, я пишу этот ответ для людей, которые хотят начать новый проект и не знают, какая из фреймворков самая лучшая и лучше всего начинать. Если вы новичок в этом фреймворке, лучшее, что я предпочитаю, это использовать Spring boot (с STS/Spring Tool Suite). Потому что это очень помогает. Сделайте все конфигурации самостоятельно. Кроме того, используйте Hibernate с Spring для создания ваших баз данных. Тогда ваше приложение будет лучшим в данный момент. Я могу гарантировать это.

Так как это одна из лучших платформ для JEE в настоящее время, но она умрет в будущем. Есть легкие альтернативы. Так что будьте в курсе вашего опыта, не придерживайтесь одной конкретной структуры. Лучше всего быть свободно в концепциях, а не в рамках.

Ответ 12

Spring MVC и Spring Boot существуют для разных целей. Поэтому нецелесообразно сравнивать друг друга как соперников.

Что такое Spring Загрузка?

Spring Загрузка - это платформа для упаковки приложения Spring с разумными значениями по умолчанию. Что это значит?. Вы разрабатываете веб-приложение, используя Spring MVC, Spring Data, Hibernate и Tomcat. Как вы размещаете и развертываете это приложение на своем веб-сервере. На данный момент мы должны вручную писать конфигурации, файлы XML и т.д. Для развертывания на веб-сервере.

Spring Загрузите это для вас с нулевой настройкой XML в вашем проекте. Поверьте мне, вам не нужен дескриптор развертывания, веб-сервер и т.д. Spring Boot - волшебная структура, которая связывает все зависимости для вас. Наконец, ваше веб-приложение будет автономным JAR файлом со встроенными серверами.

Если вы все еще запутались, как это работает, прочитайте о разработке инфраструктуры микросервиса с помощью Spring загрузки.

Что такое Spring MVC?

Это традиционная среда веб-приложений, которая помогает вам создавать веб-приложения. Это похоже на структуру Struts.

Я надеюсь, что это поможет вам понять разницу