Różnica między Spring MVC a Spring Boot

Właśnie zaczęłam się uczyć Wiosny. W kolejnym kroku chciałbym rozwijać większe aplikacje webowe. Teraz zastanawiam się, czy powinienem zacząć od Spring Boot lub Spring MVC. Przeczytałem już kilka rzeczy, ale jest to trochę mylące, ponieważ oba wyglądają bardzo podobnie. Więc jakie są różnice między tymi dwoma?

Author: Gero, 2015-10-03

7 answers

  • Spring MVC jest kompletnym, zorientowanym na HTTP frameworkiem MVC zarządzanym przez Spring Framework i opartym na Serwletach. Byłby to odpowiednik JSF w stosie JavaEE. Najpopularniejsze elementy w nim są klasami przypisanymi do @Controller, tam, gdzie implementujesz metody, możesz uzyskać dostęp za pomocą różnych żądań HTTP. Posiada odpowiednik @RestController do implementacji interfejsów API opartych na REST.
  • Spring boot to narzędzie do szybkiego konfigurowania aplikacji, oferujące po wyjęciu z pudełka konfiguracja w celu zbudowania Zastosowania sprężynowe. Jak zapewne wiecie, Wiosna integruje szeroka gama różnych modułów w jej parasol, jako spring-core, spring-data , spring-web (który zawiera Spring MVC, nawiasem mówiąc) i tak dalej. Dzięki temu narzędziu możesz powiedzieć Springowi, ile z nich ma użyć, a otrzymasz dla nich szybką konfigurację (możesz ją później zmienić samodzielnie).

Więc, Spring MVC jest frameworkiem do wykorzystania w aplikacje webowe i Spring boot to oparty na sprężynach gotowy do produkcji inicjalizator projektu. Możesz znaleźć przydatne odwiedzając Spring MVC tag wiki , a także Spring Boot tag wiki W SO.

 141
Author: Xtreme Biker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-07 15:04:50

Spring MVC i Spring Boot są dobrze opisane w innych odpowiedziach, więc nie powtarzając tego, przejdźmy od razu do konkretów. Spring Boot i Spring MVC nie są porównywalne lub wzajemnie się wykluczają. Jeśli chcesz tworzyć aplikacje webowe używając Springa, to i tak powinieneś użyć Spring MVC. Twoje pytanie staje się wtedy, czy używać Spring Boot czy nie.

Do rozwijania wspólnych aplikacji wiosennych lub rozpoczynania naucz się wiosny, myślę, że zalecane byłoby użycie Spring Boot. Znacznie ułatwia pracę, jest gotowy do produkcji i szybko jest powszechnie stosowany.

Widziałem czasami początkujących zadających to pytanie, ponieważ w STS (Spring Tool Suite) są dwa kreatory: jeden do tworzenia projektu Spring Boot, a drugi do tworzenia projektu Spring MVC. Tak więc, moim zaleceniem byłoby stworzenie projektu Spring Boot i wybrać Web jako moduł w tym.

 62
Author: Sanjay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-16 12:14:47

Spring MVC jest podprojektem Spring Framework, ukierunkowanym na projektowanie i rozwój aplikacji wykorzystujących wzorzec MVC (Model-widok-kontroler). Spring MVC został zaprojektowany do pełnej integracji z frameworkiem Spring i przejściowo z większością innych podprojektów.

Spring Boot może być całkiem dobrze zrozumiany z tego artykułu przez zespół inżynierów Spring. Podobno jest opiniotwórczy, tzn. mocno opowiada się za pewnym stylem szybkiego rozwoju, ale jest zaprojektowany na tyle dobrze, aby uwzględnić wyjątki od reguły, jeśli wolisz. Krótko mówiąc, jest to konwencja nad metodologią konfiguracji, która jest gotowa zrozumieć potrzebę złamania konwencji, gdy jest to uzasadnione.

 6
Author: Web User,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-03 13:28:39

SpringBoot jest w rzeczywistości wstępnie skonfigurowany, co zmniejsza konfigurację kotła i zapewnia najłatwiejszy lub szybki sposób uruchomienia aplikacji.

SpringBoot weź ból głowy konfiguracji od dewelopera do jego własnego ja, a nie Wiosna.

Domyślnie SpringBoot jest oparty na koncepcji Spring framework jak bean, controller, services, jpa itp.

Można powiedzieć, że SpringBoot to owijka Wiosny.

W SpringBoot domyślnie port Serwera to 8080 ale jeśli chcesz zmienić, a następnie przejdź do aplikacji.właściwości i zapis

Serwer.port = 8084

 3
Author: Yasir Shabbir Choudhary,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-11 19:30:24

Z biegiem lat wiosna stawała się coraz bardziej złożona jak nowa dodano funkcjonalności. Wystarczy odwiedzić stronę - https://spring.io/projects oraz zobaczymy wszystkie wiosenne projekty, które możemy wykorzystać w naszej aplikacji do różne funkcjonalności. Jeśli trzeba zacząć nowy wiosenny projekt to trzeba dodać ścieżkę budowania lub dodać zależności Mavena, skonfigurować aplikację serwer, Dodaj konfigurację sprężyny . więc dużo wysiłku jest wymagane do rozpoczęcia nowej wiosny projekt jak trzeba obecnie zrobić wszystko od podstaw. Spring Boot To rozwiązanie do ten problem . Spring boot został zbudowany na bazie istniejącej sprężyny ramy. Za pomocą spring boot unikamy całego kodu kotła i konfiguracje, które musieliśmy zrobić wcześniej. Wiosenne buty pomagają nam użyj istniejących funkcji sprężyny bardziej solidnie i przy minimalnym wysiłki.

Cechy sprężynowego buta-

  • Automatyczna konfiguracja - nie ma potrzeby ręcznej konfiguracji dispatcher servlet, mapowanie zasobów statycznych, Loader źródeł właściwości, Konwertery wiadomości itp.
  • Zarządzanie zależnościami - różne wersje powszechnie używane biblioteki są wstępnie wybrane i pogrupowane w różne pompy startowe, które możemy włączyć do twojego projektu. Wybierając jeden Spring Boot w wersji domyślnej wybieramy dziesiątki zależności, które w przeciwnym razie musielibyśmy wybrać i zharmonizować nas samych. Przykład -
  • Zaawansowana konfiguracja Zewnętrzna - jest duża lista właściwości fasoli, które można skonfigurować poprzez podanie.Plik Właściwości bez dotykania konfiguracji java lub xml.
  • Wsparcie produkcji - sprawdzamy stan zdrowia, application I JVM metrics, jmx via http i kilka innych rzeczy dla za darmo.
  • Runnable Jars - możemy spakować Twoją aplikację jako runnable jar with embedded tomcat included so it presents a samodzielna jednostka rozmieszczenia


  • Reference- Spring Boot-JavaInUse
     1
    Author: Gordan,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2018-09-04 18:15:43
    • Korzystając z spring boot nie będziesz musiał budować konfiguracji. Zostanie to wykonane automatycznie podczas tworzenia projektu.

    • Jeśli używasz spring MVC musisz zbudować konfigurację samodzielnie. Jest to bardziej skomplikowane, ale kluczowe.

     0
    Author: Leanghak,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2017-12-06 10:34:02

    Oto jakiś główny punkt, który odróżnia sprężynę od sprężynowego buta:

    Wiosna:

    1. główną różnicą jest "Testablility".
    2. wiosna przychodzi wraz z DI i MKOl. Przez co cała ciężka praca wykonywana przez system nie musimy wykonywać żadnej pracy (np. normalnie definiujemy oblject klasy menually, ale przez Di po prostu anotujemy za pomocą @ Service lub @ Component-matching class manage them).
    3. poprzez @ Autowired adnotacji możemy łatwo wyśmiewać () to w jednostce czas testów.
    4. duplikacja i Kod hydrauliczny. W JDBC zapisujemy ten sam kod wiele razy, aby wykonać dowolną operację bazy danych Spring rozwiązać ten problem poprzez Hibernate i ORM.
    5. dobra integracja z innymi frameworkami. Jak Hibernate, ORM, Junit & Mockito.

    Buty Sprężynowe:

    1. Tworzenie szybkiej aplikacji tak, aby w ramach zarządzania jedną dużą aplikacją webową tworzyć je indywidualnie na Mikroserwisach, które mają swoje własne zakres i możliwości.
    2. Automatyczna konfiguracja przy użyciu Web Jar : w normalnym springu jest wiele konfiguracji, takich jak DispatcherServlat, Scan komponentu, View Resolver, Web Jar, XMLs. (Przykład, jeśli chciałbym skonfigurować datasource, Entity Manager Transaction Manager Factory). Skonfiguruj automatycznie, gdy nie jest dostępna przy użyciu classpath.
    3. są wyposażone w Domyślne startery sprężyny, które mają pewne domyślne zależności konfiguracji sprężyny(takie jak Spring core, Web-MVC, Jackson, Tomcate, Vaidation, Binding, Loging). Nie martw się o problem vesionling.

    Uwaga: nie zawiera wszystkich punktów.

     0
    Author: Dhwanil Patel,
    Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
    2018-09-08 06:38:28