Właśnie zacząłem uczyć się wiosny. W następnym kroku chciałbym opracować większe aplikacje internetowe.
Teraz zastanawiam się, czy powinienem zacząć od Spring Boot czy Spring MVC. Przeczytałem już kilka rzeczy, ale jest to mylące, ponieważ oba wyglądają podobnie.
Jakie są zatem różnice między nimi?
Spring Boot
następnie spełniała ona funkcję internetowąSpring MVC
?Spring MVC i Spring Boot są dobrze opisane w innych odpowiedziach, więc bez powtarzania tego, pozwól mi przejść od razu do szczegółów. Spring Boot i Spring MVC nie są porównywalne ani wzajemnie się wykluczają. Jeśli chcesz tworzyć aplikacje internetowe za pomocą Springa, i tak używałbyś Spring MVC . Twoje pytanie brzmi: czy użyć Spring Boot, czy nie.
Wydaje mi się, że do opracowywania popularnych aplikacji Spring lub rozpoczynania nauki Spring zalecamy użycie Spring Boot . Znacznie ułatwia pracę, jest gotowy do produkcji i szybko jest szeroko stosowany.
Czasami widziałem początkujących, którzy zadają 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 utworzenie projektu Spring Boot i wybranie Web jako modułu w tym.
źródło
Jest to obrazowa reprezentacja pokazująca różnicę.
Aby uzyskać więcej informacji, zapoznaj się z tym linkiem :
Src tego obrazu
źródło
W uproszczeniu można to określić jako:
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).
A Spring Boot to Framework opiniotwórczy, więc jego wersja uwzględnia szybki rozwój, mniej czasu potrzebnego na konfigurację i ma bardzo dobre wsparcie społeczności.
źródło
Spring MVC
jest podprojektem Spring Framework, ukierunkowanym na projektowanie i rozwój aplikacji wykorzystujących wzorzec MVC (Model-View-Controller). Spring MVC został zaprojektowany w taki sposób, aby w pełni i całkowicie integrować się z Spring Framework i tranzytowo, większością innych podprojektów.Spring Boot
można zrozumieć całkiem dobrze z tego artykułu zespołu Spring Engineering. Jest rzekomo opiniotwórczy, tzn. Mocno opowiada się za pewnym stylem szybkiego rozwoju, ale jest wystarczająco dobrze zaprojektowany, aby uwzględnić wyjątki od reguły, jeśli chcesz. Krótko mówiąc, jest to konwencja dotycząca metodologii konfiguracji, która jest gotowa zrozumieć potrzebę złamania konwencji, gdy jest to uzasadnione.źródło
Oto kilka głównych punktów, które odróżniają Spring, Spring MVC i Spring Boot:
Wiosna:
Wiosna MVC
Wiosenny rozruch:
(Ewolucja taka jak: Spring -> Spring MVC -> Spring Boot, więc nowsze wersje mają kompatybilność ze starszymi funkcjami wersji.) Uwaga: Nie zawiera wszystkich punktów.
źródło
SpringBoot jest wstępnie skonfigurowany tak, aby zmniejszyć konfigurację kotła i zapewnia najłatwiejszy lub najszybszy sposób na uruchomienie aplikacji.
SpringBoot przejmuje kłopot z konfiguracją od dewelopera do siebie samego, a nie do Springa.
Domyślnie SpringBoot opiera się na koncepcji Spring Framework, takiej jak fasola, kontroler, usługi, jpa itp.
Można powiedzieć, że SpringBoot jest opakowaniem Springa.
W SpringBoot domyślnie port serwera to 8080, ale jeśli chcesz to zmienić, przejdź do pliku application.properties i napisz
server.port = 8084
źródło
Za pomocą wiosennego rozruchu nie będziesz musiał budować konfiguracji. Zostanie to zrobione automatycznie podczas tworzenia projektu.
Jeśli korzystasz ze sprężynowego MVC, musisz samodzielnie zbudować konfigurację. To jest bardziej skomplikowane, ale ma kluczowe znaczenie.
źródło
Nie powtarzając tego samego w poprzednich odpowiedziach,
piszę tę odpowiedź dla osób, które chcą rozpocząć nowy projekt i nie wiedzą, które ramy są najlepsze do uruchomienia projektu. Jeśli jesteś początkującym w tym frameworku, najlepszą rzeczą, którą wolę, jest użycie rozruchu wiosennego (z STS / Spring Tool Suite ). Ponieważ to bardzo pomaga. Wykonuje wszystkie konfiguracje samodzielnie. Dodatkowo użyj Hibernacji z systemem Spring-boot jako ramy bazy danych. Dzięki tej kombinacji Twoja aplikacja będzie najlepsza. Mogę to zagwarantować na podstawie moich doświadczeń.
Nawet to jest jedna z najlepszych platform dla JEE (obecnie), która umrze w najbliższej przyszłości. Nadchodzą lekkie alternatywy. Dlatego bądź na bieżąco ze swoimi doświadczeniami, nie trzymaj się jednej konkretnej struktury. Najlepszą rzeczą jest płynność w pojęciach, a nie w ramach.
źródło
Pomyśl w ten sposób:
Spring MVC to platforma internetowa do implementacji architektury MVC.
Spring Boot to narzędzie zorientowane na programistę. Programista musi skupić się na programowaniu, a narzędzie na konfiguracjach. Nie musimy więc marnować czasu na konfigurowanie kilku plików XML, aby stworzyć prosty „Hello world”.
źródło
Poniżej znajdują się różnice między Spring bootiem a Spring MVC.
źródło
Spring MVC i Spring Boot istnieją w innym celu. Nie jest więc rozsądne porównywanie się ze sobą jako konkurentów.
Co to jest Spring Boot?
Spring Boot to platforma do pakowania aplikacji wiosennej z rozsądnymi ustawieniami domyślnymi. Co to znaczy?. Tworzysz aplikację internetową przy użyciu Spring MVC, Spring Data, Hibernate i Tomcat. Jak spakować i wdrożyć tę aplikację na serwerze WWW. W tej chwili musimy ręcznie pisać konfiguracje, pliki XML itp. W celu wdrożenia na serwerze WWW.
Spring Boot robi to za Ciebie w konfiguracji Zero XML w twoim projekcie. Uwierz mi, nie potrzebujesz deskryptora wdrażania, serwera WWW itp. Spring Boot to magiczne środowisko, które łączy wszystkie zależności dla Ciebie. Wreszcie twoja aplikacja internetowa będzie samodzielnym plikiem JAR z osadzonymi serwerami.
Jeśli nadal jesteś zdezorientowany, jak to działa, przeczytaj o rozwoju frameworku mikrousług za pomocą Spring Boot.
Co to jest Spring MVC?
Jest to tradycyjny framework aplikacji internetowych, który pomaga budować aplikacje internetowe. Jest podobny do frameworku Struts.
Spring MVC to framework Java, który służy do tworzenia aplikacji internetowych. Jest zgodny z wzorcem projektowym Model-View-Controller. Implementuje wszystkie podstawowe funkcje szkieletu sprężyn rdzeniowych, takie jak Inversion of Control, Dependency Injection.
Spring MVC zapewnia eleganckie rozwiązanie do korzystania z MVC w środowisku wiosennym za pomocą DispatcherServlet. W tym przypadku DispatcherServlet to klasa, która odbiera przychodzące żądanie i odwzorowuje je na odpowiednie zasoby, takie jak kontrolery, modele i widoki.
Mam nadzieję, że to pomoże ci zrozumieć różnicę.
źródło