2015-04-06 3 views
83

Для проекта большой компании (сети) вы рекомендуете использовать Spring MVC или Spring-Boot?Весенний MVC или весенний ботинок

Spring-Boot с точки зрения конфигурации очень прост по сравнению с Spring MVC.

Интересно, могу ли я использовать Spring-Boot, чтобы иметь те же преимущества Spring MVC?

Что вы рекомендуете?

+24

Выбор не * между * MVC и Boot, потому что Boot [может использовать MVC (и автоконфигурировать его)] (http: //docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc). Если вы имеете в виду «Boot или Boot-less?» то это зависит от того, насколько открыта для инноваций (и связанных с ними рисков) ваша компания.В любом случае, [просьба о рекомендации * * вне темы] (http://stackoverflow.com/help/dont-ask) здесь. – kryger

+0

Спасибо за ваш ответ. Я понял, что весенний ботинок можно настроить на весну mvc. Но я смущен, если использовать Spring-Boot или Spring MVC, оба имеют те же характеристики (Spring Boot легко настраивается). Из вашего опыта, как вы используете? – Diego

+1

Весенняя загрузка позволяет сэкономить время на настройку приложения, используя фасоль по умолчанию и управлять зависимостями. Но у весенних сапог и весенне-мвк есть разные цели. Если вы хотите использовать весеннюю загрузку с spring-mvc, вы можете и вам не нужно ничего настраивать, если вы не хотите переопределять пользовательскую конфигурацию. –

ответ

74

Мои личные советы - обязательно использовать Spring Boot по многим причинам.

  1. Во-первых, Boot - это «будущее весны». Это означает, что с Boot вы можете воспользоваться многими обязательствами сообщества Spring. Сегодня большинство проектов Spring - это полностью , интегрированные с Boot, даже сообщество начинает разрабатывать множество приложений на основе Boot. Например, для управления и мониторинга. я могу предложить, чтобы увидеть Spring Boot Admin

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

  3. Очень красивые и мощные свойства и управление конфигурацией - вы можете настроить приложение с application.properties/yml и продлить загрузку в очень простой и впечатляющем образе, даже управления с точкой зрения переопределения является очень мощным.

  4. Это одна из первых платформ для микросервисов, и, на мой взгляд, в наше время это лучший!Даже если вы не создаете проект с микро-сервисом с загрузкой, вы можете воспользоваться современным подходом, в котором у вас есть автосогласованная банка, которая может извлечь выгоду из всех функций , которые я описал выше, или если вы предпочитаете может наложить упаковку в качестве классической войны и развернуть свою войну в любом из контейнеров, который вам нужен .

  5. Использование разумного и условного подхода к конфигурации, который значительно облегчает фазу запуска и конфигурации вашего проекта . На самом деле у вас есть набор стартовых зависимостей Maven или Gradle , которые упрощают управление зависимостями. Затем с характеристикой автоконфигурации вы можете воспользоваться множеством стандартных конфигураций , которые вводятся с помощью платформы условной конфигурации весной 4. Вы можете переопределить ее с помощью своих конкретных конфигураций , просто определяя ваш компонент в соответствии с договором что вы можете увидеть в автонастройке JAR зависимости Boot . Помните, что Spring является открытым исходным кодом, и вы можете видеть код. И документация, на мой взгляд, хороша.

  6. Весенний инициализатор - это классный инструмент, достижимый по этой ссылке: https://start.spring.io/ - очень классный инструмент, чтобы создать свой проект очень быстро.


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

+1

Спасибо за ответ. У меня здесь немного путаницы. Я хочу использовать Spring 4 в моем проекте, поскольку мне не придется использовать конфигурационный файл 'persistence.xml' и многие другие функции. Могу ли я использовать весенние ботинки весной? Если да, то как это сделать – viper

+2

Я бы с удовольствием согласился, если вы планируете делать что-то довольно ванильно. Количество попыток, которые я пытался загружать, вызывает головную боль, и я кричу на экране, потому что загрузка пытается быть слишком умной в отношении того, что у меня есть, и в конечном итоге нужно сделать больше, чтобы отключить что-то, используя загрузочный проект. Пара вещей, которые заканчиваются кошмаром, пытается работать с LDAP, где нужен кеш db, или при настройке более одного DataSource загружается, пытаясь создать экземпляры JdbcTemplate и hibernate без моего ведома и даже запускать базу данных h3 сама по себе. –

+1

Конфигурация имущества также я не разработал, как управлять. В загрузочных проектах я бы создал класс AppConfig, который перегрузил поддержку свойств чтения в файле свойств приложений, который я могу использовать в JSP и SpEL, но не могу понять, как сделать то же самое с загрузкой. –

9

Вы можете использовать Spring MVC с весенним ботинком, как сказал @kryger, они не являются эксклюзивными между ними, и конфигурация будет проще, также я рекомендую использовать http://www.thymeleaf.org/, который является основой шаблона. Работа с ним похожа на работу с JSP, но thymeleaf легко интегрируется с HTML, поэтому ваш код будет выглядеть очень чистым, и вы можете добавить много полезных функций.

16

Вы можете определенно пойти на Spring Boot. Мы уже начали использовать Spring Boot для создания корпоративного приложения. Он имеет много преимуществ, перечисляя несколько ниже:

  1. Ваша проектная конфигурация будет довольно простой. Нет необходимости поддерживать XML-файл, все, что вам нужно знать, - это то, насколько эффективно вы можете использовать файл application.properties.

  2. дает много реализации по умолчанию, например, если вам нужно отправить по электронной почте, он обеспечивает реализацию JavaMailSender

  3. Spring Hibernate и JPA интеграции по умолчанию будет довольно просто.

Нравится программа? Поделись с друзьями!

+0

Большое спасибо за ваше объяснение – Diego

5

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

Spring Boot связывает военный файл с сервером, таким как Tomcat. Это позволяет легко распространять и развертывать веб-приложения. Поскольку отрасль движется к развертыванию на основе контейнеров, Spring Spring полезен в этом контексте.

Spring MVC - это веб-приложение.

В то время как вы можете сделать все, что в Spring без Spring ботинка, Spring загрузка поможет вам получить вещи сделать быстрее:

Spring загрузка упрощает вашу зависимости пружину, не больше версий столкновений можно запускать прямо из командной строки без применение контейнер сборки больше с меньшим количеством коды - нет необходимости в XML, даже не web.xml, автоконфигурирование полезных инструментов для работы в производстве, инициализации базы данных, среды конкретных конфигурационных файлов, сбор метрик

для основы весны boot может ссылаться на ссылку: https://spring.io/blog/2013/08/06/spring-boot-simplifying-spring-for-everyone

+0

Благодарим вас за ответ. Это было очень полезно для понимания весеннего ботинка. Единственное, с чем я смущен, - если мне придется изменить весеннюю версию, которую я использую, как бы мне это сделать с весенним ботинком? Я не вижу нигде, где определена весенняя версия. – viper

+0

Не использовал maven в своем проекте? @viper – erginduran

+0

Да, я использовал maven. но используя весенний ботинок, я не вижу там весенних зависимостей. – viper

20

Spring Boot использует Spring MVC! Он просто автоконфигурирован и готов к использованию, когда вы импортируете банку с пружинным загрузочным стартером. Таким образом, вы в основном говорите о том, использовать ли Spring Boot или вручную настроить Spring-приложение ...

+2

Yep _ + 1, Spring boot - это просто инструмент автоконфигурации, Spring mvc - это веб-фреймворк –

+0

@Plain_Dude_Sleeping_Alone Я понимаю, что Spring MVC - это фреймворк. Вы говорите, что Spring Boot - это просто инструмент autoconfig, можно ли его также рассматривать как платформу? – Jesse

+0

@ Jesse, и оба они могут рассматриваться как инструменты или рамки. Но то, что люди empashize здесь, заключается в том, что весенняя загрузка - скорее инструмент для веб-фрейма Spring mvc. Он предоставит готовую конфигурацию, необходимую для Spring mvc, но сама добыча находится в форме фреймворка. Наконец, мой английский настолько плох, что он уже может сжечь ваше лицо. Хехе –

Смежные вопросы