Відповіді:
@Controller
, де ви реалізуєте методи, до яких можна отримати доступ, використовуючи різні HTTP-запити. Він має еквівалент @RestController
для реалізації API на основі REST.Таким чином, Spring MVC - це рамка, яка повинна використовуватися у веб-додатках, а Spring Boot - ініціалізатор проекту, готовий до весни . Вам можуть бути корисні відвідування вікі-тегів Spring MVC , а також вікі тегів Spring Boot в SO.
Spring Boot
потім виконати функціонал веб-сторінки Spring MVC
?
Spring MVC та Spring Boot добре описані в інших відповідях, і тому, не повторюючи це, дозвольте перейти прямо до конкретики. Весняний черевик та Spring MVC не порівнянні та взаємовиключні. Якщо ви хочете займатися розробкою веб-додатків за допомогою Spring, ви все одно використовуєте Spring MVC . Тоді ваше питання стає чи використовувати Spring Boot чи ні.
Для розробки загальних програм Spring або для початку навчання Spring, я думаю, що рекомендується використовувати Spring Boot . Це значно полегшує роботу, готується до виробництва і швидко набуває широкого застосування.
Я бачив іноді початківців, які задають це питання, тому що в STS (Spring Tool Suite) є два майстри: один для створення проекту Spring Boot та інший для створення проекту Spring MVC. Отже, моєю рекомендацією було б створити проект Spring Boot та обрати Web як модуль.
Це мальовниче зображення показу різниці.
Для отримання додаткової інформації перейдіть за цим посиланням :
Простіше кажучи, це може бути зазначено як:
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 - це орієнтована структура, тому його побудова враховує швидкий розвиток, менше часу на конфігурацію та дуже гарну підтримку громади.
Spring MVC
є підпроектом Spring Framework, орієнтованим на розробку та розробку додатків, що використовують схему MVC (Model-View-Controller). Spring MVC призначений для того, щоб повністю та повністю інтегруватися з Spring Framework та транзитивно більшістю інших підпроектів.
Spring Boot
можна досить добре зрозуміти з цієї статті командою Spring Engineering. Він нібито впевнений, тобто наполегливо виступає за певний стиль швидкого розвитку, але він розроблений досить добре, щоб врахувати винятки з правила, якщо хочете. Коротше кажучи, це конвенція щодо методології конфігурації, яка готова зрозуміти вашу потребу порушувати конвенцію, коли це вимагається.
Ось декілька основних моментів, які розрізняють Весна, Весна MVC та Весна завантаження:
Весна:
Весняний MVC
Весняний черевик:
(Еволюція на кшталт: Spring -> Spring MVC -> Spring Boot. Отже, новіша версія має сумісність з функціями старої версії.) Примітка. Вона містить не всі точки.
SpringBoot насправді попередньо налаштований, що зменшує конфігурацію котла і забезпечує найпростіший або швидкий спосіб запуску програми.
SpringBoot переймає головний біль конфігурації від розробника до власного "Я", а не Spring.
Неявно SpringBoot заснований на концепції весняних рамок, таких як боб, контролер, послуги, jpa тощо.
Можна сказати, що SpringBoot - це обгортка весни.
У SpringBoot за замовчуванням порт сервера становить 8080, але якщо ви хочете змінити, перейдіть до своєї програми.властивості та напишіть
server.port = 8084
За допомогою весняного завантаження вам не потрібно буде будувати конфігурацію. Це буде зроблено автоматично під час створення проекту.
Якщо ви використовуєте весняний MVC, вам потрібно створити конфігурацію самостійно. Це складніше, але це вирішально.
Не повторюючи те саме в попередніх відповідях,
я пишу цю відповідь людям, які прагнуть розпочати новий проект і не знають, яка найкраща основа для запуску вашого проекту. Якщо ви новачок у цій рамці, найкраще, що я вважаю за краще - це використовувати весняний завантажувач (із STS / Spring Tool Suite ). Тому що це дуже допомагає. Її роблять усі конфігурації самостійно. Крім того, використовуйте Hibernate з весняним завантаженням в якості бази даних. За допомогою цієї комбінації ваша програма буде найкращою. Я можу гарантувати це своїм досвідом.
Навіть це одна з найкращих рамок для JEE (в даний час), яка вмирає найближчим часом. Існують легкі альтернативи. Тож будьте в курсі вашого досвіду, не дотримуйтесь жодної конкретної рамки. Найкраще - вільне володіння поняттями, а не рамками.
Думайте так:
Spring MVC - це веб-основа для реалізації архітектури MVC.
Spring Boot - це інструмент, орієнтований на програміста. Програміст повинен зосередитися на програмуванні, а інструмент повинен зосередитися на конфігураціях. Тому нам не потрібно витрачати час на налаштування купки xml, щоб зробити простий "Hello world".
Spring MVC та Spring Boot існують з різною метою. Отже, не розумно порівнювати один одного як суперників.
Що таке весняний черевик?
Spring Boot - це основа для упаковки весняного додатка з розумними настройками за замовчуванням. Що це означає?. Ви розробляєте веб-додаток за допомогою Spring MVC, Spring Data, Hibernate та Tomcat. Як упакувати та розгорнути цю програму на веб-сервері. На сьогоднішній день нам потрібно вручну записати конфігурації, XML-файли тощо для розгортання на веб-сервері.
Spring Boot робить це для вас із налаштуванням Zero XML у вашому проекті. Повірте, вам не потрібен дескриптор розгортання, веб-сервер тощо. Spring Boot - це магічна основа, яка поєднує всі залежності для вас. Нарешті, ваш веб-додаток буде окремим файлом JAR із вбудованими серверами.
Якщо ви все ще плутаєтесь, як це працює, прочитайте про розробку рамок мікросервісів за допомогою весняного завантаження.
Що таке весняний MVC?
Це традиційна рамка веб-додатків, яка допомагає створювати веб-додатки. Це схоже на структуру Struts.
Spring MVC - це програма Java, яка використовується для створення веб-додатків. Він відповідає схемі дизайну Model-View-Controller. Він реалізує всі основні особливості основної пружинної рамки, такі як Інверсія управління, Введення залежностей.
Spring MVC - це елегантне рішення для використання MVC у весняних рамках за допомогою DispatcherServlet. Тут DispatcherServlet - це клас, який отримує вхідний запит і відображає його на потрібний ресурс, наприклад контролери, моделі та представлення.
Я сподіваюся, що це допоможе вам зрозуміти різницю.