Der Unterschied zwischen Springboot und SpringMVC
Spring Boot verfügt über eingebettete Tomcat-, Jetty- und Undertow-Container, die ohne weitere Bereitstellung direkt ausgeführt werden können.
Spring Boot wird automatisch konfiguriert, wodurch eine große Anzahl von XML-Dateikonfigurationen reduziert wird Projektaufbau Die Komplexität
Spring MVC ist ein auf Servlet basierendes MVC-Framework. Es löst hauptsächlich die Probleme der WEB-Entwicklung, da die Konfiguration von Spring sehr komplex ist und verschiedene XML-, JavaConfig- und Hin-Elemente umständlich zu verarbeiten sind. Um die Verwendung für Entwickler zu vereinfachen, wurde daher Spring Boot Convention überlegen, was den Spring-Konfigurationsprozess vereinfacht.
Spring ist eine „Engine“;
Spring MVC ist ein MVC-Framework, das auf Spring basiert;
Spring Boot ist eine Reihe von schnellen Entwicklungsintegrationspaketen, die auf der bedingten Registrierung von Spring4 basieren.
Zwei Möglichkeiten der Springboot-Hot-Bereitstellung
Die Hot-Bereitstellung von SpringBoot Devtools ist erst nach SpringBoot 1.3 verfügbar
①: spring-boot-devtools ②: Spring Loaded
Methode 1:
Abhängigkeiten in der POM-Datei des Projekts hinzufügen:
<!--热部署jar--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
Dann: Verwenden Sie Umschalt+Strg+Alt+"/" (Tastenkombination in IDEA), um „Registrierung“ auszuwählen und überprüfen Sie dann „compiler.automake.allow.when.app.running“
Methode 2:
Im Projekt hinzufügen den folgenden Code
<build> <plugins> <plugin> <!-- springBoot编译插件--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <!-- spring热部署 --> <!-- 该依赖在此处下载不下来,可以放置在build标签外部下载完成后再粘贴进plugin中 --> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.6.RELEASE</version> </dependency> </dependencies> </plugin> </plugins> </build>
Nachdem Sie ihn hinzugefügt haben, müssen Sie zum Ausführen den Befehl mvn verwenden:
Suchen Sie zuerst die Konfigurationen bearbeiten in IDEA und gehen Sie dann wie folgt vor: (Klicken Sie auf das „+“ in der oberen linken Ecke und dann Wählen Sie Maven aus. Das rechte Feld erscheint in Rot. Geben Sie den Befehl wie in der Abbildung gezeigt in den unterstrichenen Bereich ein.
Klicken Sie auf „Speichern“ und er wird im IDEA-Projektlaufbereich angezeigt . Klicken Sie auf den grünen Pfeil, um die
Springboot-Konfigurationsdatei
Spring Boot verwendet eine globale Konfigurationsdatei: hauptsächlich die folgenden zwei Typen:
application.properties: Beispiel: server.port=9998
application.yml (YAML): Beispiel: Server:
Port: 8080
Die Hauptfunktion der Konfigurationsdatei besteht darin, die zugrunde liegende Standardkonfiguration von Spring Boot zu ändern.
Kernanmerkungen von Spring Boot.
Die Anmerkung zur Startup-Klasse ist @SpringBootApplication, die auch die Kernannotation von Spring Boot ist. Die Hauptkombinationen umfassen die folgenden 3 Annotationen:
@SpringBootConfiguration: Kombiniert die Annotation @Configuration, um die Funktion der Konfigurationsdatei zu implementieren.
@EnableAutoConfiguration: Aktivieren Sie die automatische Konfigurationsfunktion oder deaktivieren Sie eine bestimmte automatische Konfigurationsoption, z. B. das Deaktivieren der automatischen Konfigurationsfunktion der Datenquelle: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }).
@ComponentScan: Scannen von Federkomponenten.
Das Ausführungsprinzip des Spring Boot-Starters
Für die Verwendung des Starters sind nur zwei Bedingungen erforderlich: Maven-Abhängigkeiten und Konfigurationsdateien. Hier finden Sie eine kurze Einführung in den Prozess der automatisierten Konfiguration mit dem Starter.
Die Einführung von Maven bedeutet im Wesentlichen, dass beim Start von Spring-Boot die Datei resources/META-INF/spring.factories im Starter-JAR-Paket gefunden wird die Klassen, die automatisch konfiguriert werden müssen
Der Unterschied zwischen Spring Boot und Spring MVC
Spring Boot ist die Integration von Spring und Spring MVC, während Spring MVC nur ein Modul von Spring ist, einem leichten Web-Layer-Framework
Spring Boot kann fast eine Nullkonfiguration erreichen, alle Funktionen werden mithilfe von Anmerkungen entwickelt und die Idee der „Konvention über Konfiguration“ wird verwendet, um die Projektentwicklung zu vereinfachen
Schwierigkeit, während Spring MVC auf XML angewiesen sein muss Konfiguration für die Entwicklung
Spring Boot wird mit integriertem Tomcat geliefert und kann direkt nach dem Packen in ein JAR-Paket ausgeführt werden, oder Sie können einen externen Tomcat verwenden.
Spring Boot erbt auch viele Bibliothekskonfigurationen von Drittanbietern B. JDBC, Mongo, Redis usw. Durch die Anwendung dieser Bibliotheken von Drittanbietern ist eine Konfiguration nahezu Null möglich Eureka-Client
Nachdem jeder Knoten gestartet wurde, wird er in EurekaServer registriert, sodass die Dienstregistrierung in EurekaServer die Informationen aller verfügbaren Dienstknoten speichern kann In der Benutzeroberfläche ist EurekaClient ein Java-Client, der zur Vereinfachung der Interaktion verwendet wird. Der Client verfügt außerdem über einen integrierten Load Balancer, der einen Round-Robin-Ladealgorithmus verwendet. Nach dem Start der Anwendung wird ein Heartbeat an den Eureka-Server gesendet (der Standardzeitraum beträgt 30 Sekunden). Wenn Eureka Server den Heartbeat eines Knotens nicht innerhalb mehrerer Heartbeat-Zyklen empfängt, entfernt EurekaServer den Serviceknoten aus der Serviceregistrierung (Standard 90 Sekunden).
Eurekas drei Hauptrollen:
Dienstanbieter Der Dienstanbieter registriert seinen Dienst bei Eureka, damit der Dienstkonsument ihn finden kann
Als Service-Registrierungszentrum sind die Vorteile von Eureka und Zookeeper:
Die berühmte CAP-Theorie besagt, dass es für ein verteiltes System unmöglich ist, C (Konsistenz), A (Verfügbarkeit) und P (Partitionsfehlertoleranz) zu erfüllen ) gleichzeitig. Da in einem verteilten System die Partitionsfehlertoleranz P gewährleistet sein muss, können wir nur einen Kompromiss zwischen A und C eingehen.
So
zookeeper garantiert cp,
eureka ist der Unterschied zwischen # und $ in mybatis
Die übergebenen Daten werden als Zeichenfolge behandelt und in doppelte Anführungszeichen gesetzt. Beispiel: order by #user_id#, wenn der übergebene Wert 111 ist, dann ist der in SQL analysierte Wert order by „111“.
. Standardmäßig führt die Verwendung der Formatsyntax #{} dazu, dass MyBatis eine vorbereitete Anweisungseigenschaft erstellt und einen sicheren Wert (z. B. ?) dagegen festlegt Es. Das ist sicher, schnell und wird bevorzugt, manchmal möchte man einfach eine unveränderte Zeichenfolge direkt in die SQL-Anweisung einfügen. Sie können es beispielsweise wie ORDER BY wie folgt verwenden:
ORDER BY ${columnName} Hier wird MyBatis die Zeichenfolge weder ändern noch maskieren. So eliminiert Redis Daten ttl: Wählen Sie die abzulaufenden Daten aus dem Datensatz (server.db[i].expires) aus, der die Ablaufzeit festgelegt hat, und entfernen Sie sie.
volatile-random: Wählen Sie den Datensatz aus, der die Ablaufzeit hat (server .db[i].expires) ) Zu entfernende Daten nach dem Zufallsprinzip auswählen
allkeys-lru: Wählen Sie die zuletzt verwendeten Daten aus dem Datensatz (server.db[i].dict) aus, um
allkeys- zu entfernen random: Aus dem Datensatz auswählen (server.db) [i].dict) Daten zur Eliminierung zufällig auswählen
Der Ablaufplan für Schlüssel-Wert-Paare wird in der Redis-Datensatzstruktur gespeichert, d. h. redisDb.expires.
Das obige ist der detaillierte Inhalt vonWelche zwei Methoden gibt es für die Springboot-Hot-Bereitstellung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!