it-swarm.com.de

Unterschied zwischen Spring MVC und Spring Boot

Ich habe gerade angefangen, den Frühling zu lernen. In meinem nächsten Schritt möchte ich größere Webanwendungen entwickeln.

Jetzt überlege ich, ob ich mit Spring Boot oder Spring MVC anfangen soll. Ich habe bereits einige Sachen gelesen, aber es ist verwirrend, weil beide ähnlich aussehen.

Also, was sind die Unterschiede zwischen den beiden?

161
Gero
  • Spring MVC ist ein vollständiges HTTP-orientiertes MVC-Framework, das vom Spring Framework verwaltet wird und auf Servlets basiert. Es wäre äquivalent zu JSF im JavaEE-Stack. Die beliebtesten Elemente sind Klassen, die mit @Controller beschriftet sind und in denen Sie Methoden implementieren, auf die Sie mithilfe verschiedener HTTP-Anforderungen zugreifen können. Es verfügt über einen entsprechenden @RestController zum Implementieren von REST-basierten APIs.
  • Spring Boot ist ein Dienstprogramm zum schnellen Einrichten von Anwendungen, das eine sofort einsatzbereite Konfiguration zum Erstellen von Anwendungen mit Federkraft bietet. Wie Sie vielleicht wissen, integriert Spring eine Vielzahl verschiedener Module unter seinem Dach , als Federkern, Federdaten, spring-web (was übrigens Spring MVC beinhaltet) und so weiter. Mit diesem Tool können Sie Spring mitteilen, wie viele von ihnen verwendet werden sollen, und Sie erhalten ein schnelles Setup für sie (Sie können es später selbst ändern).

Spring MVC ist also ein Framework zur Verwendung in Webanwendungen, und Spring Boot ist ein Spring-basierter produktionsbereiter Projektinitialisierer. Sie finden es möglicherweise nützlich, das Spring MVC-Tag-Wiki sowie das Spring Boot-Tag-Wiki in SO zu besuchen.

233
Xtreme Biker

Spring MVC und Spring Boot sind in anderen Antworten gut beschrieben. Lassen Sie mich also, ohne dies zu wiederholen, direkt zu den Einzelheiten springen. Spring Boot und Spring MVC sind nicht vergleichbar oder schließen sich gegenseitig aus. Wenn Sie mit Spring eine Webanwendung entwickeln möchten, verwenden Sie trotzdem Spring MVC. Ihre Frage lautet dann, ob Spring Boot verwendet werden soll oder nicht.

Für die Entwicklung gängiger Spring-Anwendungen oder für den Einstieg in Spring wird die Verwendung von Spring Boot empfohlen. Es erleichtert die Arbeit erheblich, ist produktionsbereit und wird rasch in großem Umfang eingesetzt.

Ich habe manchmal Anfänger gesehen, die diese Frage gestellt haben, weil es in STS (Spring Tool Suite) zwei Assistenten gibt: einen zum Erstellen eines Spring Boot-Projekts und einen anderen zum Erstellen eines Spring MVC-Projekts. Daher würde ich empfehlen, ein Spring Boot-Projekt zu erstellen und Web als Modul auszuwählen.

86
Sanjay

Spring MVC ist ein Unterprojekt des Spring Framework, das auf das Design und die Entwicklung von Anwendungen abzielt, die das MVC-Muster (Model-View-Controller) verwenden. Spring MVC ist so konzipiert, dass es sich vollständig und vollständig in das Spring Framework und die meisten anderen Teilprojekte integriert.

Spring Boot kann aus diesem Artikel des Spring Engineering-Teams recht gut verstanden werden. Es wird vermutet, dass es eine bestimmte Art der raschen Entwicklung befürwortet, aber es ist gut genug entworfen, um Ausnahmen von der Regel zu berücksichtigen, wenn Sie so wollen. Kurz gesagt, es handelt sich um eine Konvention über Konfigurationsmethoden, die bereit ist, Ihre Notwendigkeit zu verstehen, Konventionen zu brechen, wenn dies gerechtfertigt ist.

10
Web User

Hier sind einige wichtige Punkte, die Spring und Spring Boot unterscheiden:

Frühling:

  1. Hauptunterschied ist "Testfähigkeit".
  2. Der Frühling kommt mit DI und IOC. Durch all die harte Arbeit, die vom System geleistet wird, müssen wir keinerlei Arbeit leisten (normalerweise definieren wir das Objekt der Klasse manuell, aber durch Di kommentieren wir es einfach mit @Service oder @Component - passende Klassen verwalten diese).
  3. Durch @Autowired Annotation verspotten wir es leicht zur Zeit des Unit-Tests.
  4. Vervielfältigungs- und Installationscode. In JDBC schreiben wir den gleichen Code mehrmals, um jede Art von Datenbankoperation auszuführen, die Spring durch Hibernate und ORM löst.
  5. Gute Integration mit anderen Frameworks. Wie Hibernate, ORM, Junit & Mockito.

Spring Boot:

  1. Erstellen Sie eine Schnellanwendung, damit Sie nicht nur eine einzige große Webanwendung verwalten müssen, sondern diese einzeln in verschiedene Microservices mit jeweils eigenem Umfang und eigener Funktionalität aufteilen können.
  2. Automatische Konfiguration mit Web Jar: Im normalen Spring gibt es viele Konfigurationsmöglichkeiten wie DispatcherServlet, Komponentenscan, View Resolver, Web Jar, XMLs. (Zum Beispiel, wenn ich die Datenquelle konfigurieren möchte, Entity Manager Transaction Manager Factory). Automatisch konfigurieren, wenn es nicht über den Klassenpfad verfügbar ist.
  3. Im Lieferumfang sind Standard-Spring-Starter enthalten, die eine gewisse Abhängigkeit von der Standard-Spring-Konfiguration aufweisen (z. B. Spring Core, Web-MVC, Jackson, Tomcat, Validierung, Datenbindung, Protokollierung). Machen Sie sich auch keine Sorgen über das Versionsproblem.

Hinweis: Es enthält nicht alle Punkte.

8
Dhwanil Patel

SpringBoot ist vorkonfiguriert, um die Kesselkonfiguration zu reduzieren und den einfachsten oder schnellsten Weg zum Starten Ihrer Anwendung zu bieten.

SpringBoot nimmt die Konfigurationsprobleme vom Entwickler auf sich und nicht auf Spring.

Implizit basiert SpringBoot auf dem Spring-Framework-Konzept wie Bean, Controller, Services, JPA usw.

Man kann sagen, dass SpringBoot eine Hülle für Spring ist.

In SpringBoot ist der Standardport des Servers 8080, aber wenn Sie Änderungen vornehmen möchten, gehen Sie zu Ihrer application.properties und schreiben Sie

server.port = 8084

  • Mit Spring Boot müssen Sie keine Konfiguration erstellen. Dies erfolgt automatisch, wenn Sie ein Projekt erstellen.

  • Wenn Sie Spring MVC verwenden, müssen Sie die Konfiguration selbst erstellen. Es ist komplizierter, aber entscheidend.

5
Leanghak

In einfachen Worten kann es ausgedrückt werden als:

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).

Und Spring Boot ist ein Opinionated-Framework. Daher wird bei der Erstellung berücksichtigt, dass die Entwicklung schnell vonstatten geht, weniger Zeit für die Konfiguration benötigt wird und eine sehr gute Community-Unterstützung besteht.

2
Bishal Jaiswal

Ohne das Gleiche in früheren Antworten zu wiederholen, schreibe ich diese Antwort für diejenigen, die ein neues Projekt starten möchten und nicht wissen, welches der beste Rahmen ist und welches der beste Start ist. Wenn Sie ein Anfänger in diesem Framework sind, ist das Beste, was ich bevorzuge, Use Spring Boot (mit STS/Spring Tool Suite). Weil es sehr hilft. Es macht alle Konfigurationen für sich. Verwenden Sie außerdem Ruhezustand mit spring, um Ihre Datenbanken zu erstellen. Dann ist Ihre Bewerbung die beste der Gegenwart. Das kann ich garantieren.

Da dies derzeit eines der besten Frameworks für JEE ist, wird es in Zukunft nicht mehr funktionieren. Es gibt leichte Alternativen. Bleiben Sie also auf dem Laufenden, wenn Sie Erfahrungen gesammelt haben, und halten Sie sich nicht an ein bestimmtes Framework. Das Beste ist, die Konzepte zu beherrschen, nicht die Rahmenbedingungen.

2

Spring MVC ist ein auf Model View Controller (MVC) basierendes Web-Framework unter Spring Framework. Es ist das ursprüngliche Webframework, das auf der Servlet-API basiert. Es bietet mehrere einsatzbereite Funktionen zum Erstellen einer Webanwendung.

  • Klare Rollentrennung. Jede Rolle - Controller, Validator, Befehlsobjekt, Formularobjekt, Modellobjekt, DispatcherServlet, Handlerzuordnung, View Resolver usw. - kann von einem speziellen Objekt erfüllt werden.
  • Eine leistungsstarke und unkomplizierte Konfiguration von Framework- und Anwendungsklassen als JavaBeans.
  • Anpassbare Bindung und Validierung.

  • Anpassbare Handlerzuordnung und Ansichtsauflösung.

  • Leistungsstarke Funktionen für Themen und lokale Auflösung.

Spring Boot ist ein leistungsstarkes Dienstprogramm zum schnellen Einrichten einer Anwendung, indem Standardkonfigurationen zum Erstellen von Anwendungen mit Spring-Unterstützung angeboten werden. Hier ist die Funktionsliste für Spring Boot.

  • Eine der am besten einsatzbereiten Mikrodienstplattformen.

  • Verwendung eines intelligenten Konventionskonfigurationsansatzes, der die Start- und Konfigurationsphase Ihres Projekts erheblich verkürzt.

  • Leistungsstarkes und flexibles Konfigurationsmanagement mithilfe der Datei application.properties oder yml.

  • Auto-Konfigurationsmodul.

  • Spring Boot-Starter bieten eine sofort einsatzbereite Autokonfiguration für Ihre Anwendung.

  • Serienfertiges Aktormodul.

  • Es vereinfacht die Abhängigkeiten von Spring, indem es die Ansicht der Meinung vertritt.

1