Ava-Entwicklungsübersicht:
Die Verwendung von Java für die Entwicklung von Webanwendungen hat eine fast 20-jährige Geschichte und hat sich Schritt für Schritt vom ursprünglichen Servlet 1.0 zu so vielen Frameworks, Bibliotheken und ganzen Ökosystemen weiterentwickelt. Nach einer so langen Entwicklungszeit hat sich Java als ausgereifte Sprache auch zu einem sehr ausgereiften Ökosystem entwickelt. Aus diesem Grund verwenden viele Unternehmen Java als Mainstream-Sprache für die serverseitige Entwicklung und sind nach wie vor sehr aktive Java-Benutzer Base. Dieses Ökosystem ist jedoch komplex und eine sehr einfache Java-Webanwendung kann die folgenden Technologien anwenden:
Die Java-Entwicklung ist in zwei Lager unterteilt, von denen eines von Oracle entwickelt wird Das Java EE Camp ist der offizielle Referenzstandard für die Webentwicklung. Zu den Kerntechnologien gehören Servlet, EJB, JMS, JSF, JDBC/JPA, JAXB, JAX-WS usw. Das andere Lager ist das Spring-Lager, das von der Open-Source-Community und Pivotal vertreten wird. Zu den Kerntechnologien gehören Spring Framework, Spring MVC, Spring Data, Spring Security usw.
Spring begann als Bean-Container für die Abhängigkeitsinjektion und entwickelte sich nach und nach zu einem Mainstream-Framework für die Java-Anwendungsentwicklung. Viele Java-Programmierer haben Java EE wegen seiner aufgeblähten, komplexen und schwer zu verwendenden Struktur aufgegeben. CDI (Context Dependency Injection) wurde erst seit Java EE6 eingeführt, und die Designideen von Java EE sind sehr akademisch und von den Anforderungen der Branche abgekoppelt, was die Java EE-Entwicklung sehr kompliziert macht. JSF wurde sogar von James Gosling, dem Vater von Java, kritisiert. Im Gegenteil: In der Spring-Community werden immer mehr moderne Anwendungsentwicklungsmethoden in verschiedene Spring-Projekte integriert.
Was ist Spring Boot?
Spring Boot ist ein Projekt, das durch das Feedback der Community vorangetrieben wird. Man kann sagen, dass Spring Boot eines der einflussreichsten Projekte in Spring und sogar in der gesamten Java-Community ist Zumindest in den letzten fünf Jahren. Spring Boot umfasst hauptsächlich die folgenden Funktionen:
Direkte Einbettung von Tomcat, Jetty oder Undertow als Servlet-Container. Von nun an ist es nicht mehr nötig, die Anwendung in einen War zu packen und sie dann auf den Anwendungsserver hochzuladen.
Bietet Starter-POM, das für die Paketverwaltung sehr praktisch sein kann und die Jar-Hölle oder Abhängigkeitshölle erheblich reduziert
Automatische Konfiguration des Spring-Frameworks, was Programmierern viel Zeit und Energie spart und es Programmierern ermöglicht, sich zu konzentrieren zum Schreiben von Geschäftslogikcode
Es ist kein Drittsystem erforderlich. Spring Boot verfügt über Programmstatusinformationen und Gesundheitsstatus, die in der Produktionsumgebung verwendet werden können. Gleichzeitig ermöglicht es Anwendungen, externe Konfigurationsinformationen sehr bequem
auszulesen, ohne dass eine automatische Codegenerierung erforderlich ist. Es ist nicht erforderlich, XML zum Konfigurieren des Frameworks zu verwenden
Warum ist Spring Boot subversiv?
Warum ist Spring Boot subversiv? Weil es das Modell der Java-Anwendungsentwicklung völlig verändert. In der Vergangenheit mussten wir bei der Entwicklung von Spring-Anwendungen wissen, welche Klassen wir konfigurieren mussten, um die Zusammenarbeit von Hibernate und Spring zu ermöglichen, und wie wir den View Resolver konfigurieren mussten, um zu steuern, welche Vorlage die Ansichtsebene anzeigt. Nachdem ich viel Code geschrieben habe, stelle ich oft fest, dass ich mich nur mit der Konfiguration des Spring-Frameworks selbst befasse, ohne eine einzige Zeile Geschäftslogik zu schreiben. Nach Abschluss der Entwicklung müssen wir noch über Bereitstellungsprobleme nachdenken, ganz zu schweigen von der Bereitstellung auf sehr leistungsstarken Anwendungsservern wie WebSphere, Weblogic oder JBoss. Auch wenn wir auf leichtgewichtigen Containern wie Tomcat oder Jetty bereitstellen, müssen wir wissen, wie das geht Konfigurieren Sie den Container, wie Sie die Konfigurationsdatei ändern usw. Und wenn mehrere Anwendungen auf demselben Tomcat bereitgestellt werden, kommt es häufig zu Konflikten. Selbst wenn wir viel Mühe aufwenden, um diese Probleme zu lösen, ist es für uns nach erfolgreicher Bereitstellung des Programms schwierig, den Betriebsstatus des Programms zu verstehen. Möglicherweise müssen wir viele Tools von Drittanbietern konfigurieren, um zu wissen, wie die Anwendung ausgeführt wird, welche Parameter sie hat und welche Umgebungsvariablen es gibt. Obwohl Spring uns dabei geholfen hat, das Problem der Abhängigkeitsinjektion zu lösen und einige MVC-Prozesse zu vereinfachen, hat das Spring-Framework selbst immer mehr Dinge integriert, wodurch es immer schwieriger zu konfigurieren ist und die Wartungskosten in die Höhe geschossen sind. Java-Programmierer sehen oft, wie Python-, Ruby- oder JavaScript-Programmierer ein paar Befehle eingeben, um einige Bibliotheken zu installieren, dann einfach ein paar Codezeilen eingeben, einige Frameworks wie Flask einführen und dann direkt eine einfache API ausführen. Derzeit beschäftigen sich Java-Programmierer möglicherweise noch mit der Frage, welche Bibliothek in Maven verwendet werden soll und wie sie im Code konfiguriert wird. Der Ausdruck in jedem Kopf muss so sein:
Traditionelle Spring-Entwicklung vs. Spring Boot-Anwendungsentwicklung
Als nächstes werde ich die traditionelle Spring-Anwendungsentwicklung mit vergleichen spezifische Beispiele und Spring Boot-Anwendungsentwicklung. Wenn wir eine Hello World REST API entwickeln, sollte dies die traditionelle Spring-Entwicklung tun
1. Wenn Sie Maven für die Paketverwaltung verwenden, schreiben Sie pom.xml wie folgt:
Wie Sie oben sehen können, haben wir zum Schreiben einer einfachen Hallo-Welt-REST-API viele Paketabhängigkeiten wie Spring Core, Spring Web, Spring Web MVC, Java Servlet und Jackson eingeführt. Sie können sich vorstellen, wie dieser Pom für ein komplexeres Programm aussehen wird. . .
2. Schreiben Sie die HelloWorldInitializer-Klasse wie folgt
Dies ist bereits eine sehr einfache Java-Konfiguration. Freunde, die Spring vor Servlet 3.0 konfiguriert haben, sind es jetzt Wahrscheinlich zusammengebrochen.
3. Schreiben Sie die HelloWorldConfiguration-Klasse
Beachten Sie, dass es in unserer Klasse keine einzige Geschäftslogik gibt. . .
4. Beginnen Sie wirklich mit dem Schreiben von HelloWorldRestController
Verwenden Sie Spring Boot, um die Java-Anwendungsentwicklung zu untergraben
Verwende Java für die Entwicklung von Webanwendungen Fast 20 Jahre Mit einer Geschichte von mehr als 10 Jahren hat es sich Schritt für Schritt vom ursprünglichen Servlet 1.0 zu so vielen Frameworks, Bibliotheken und ganzen Ökosystemen entwickelt. Nach einer so langen Entwicklungszeit hat sich Java als ausgereifte Sprache auch zu einem sehr ausgereiften Ökosystem entwickelt. Aus diesem Grund verwenden viele Unternehmen Java als Mainstream-Sprache für die serverseitige Entwicklung und sind nach wie vor sehr aktive Java-Benutzer Base.
Autor: On the Self-kultivation of Coders Quelle: Tuiku|2016-10-14 14:16
Sammlung
Teilen
Überblick über die Java-Entwicklung:
Wir verwenden Java seit fast 20 Jahren für die Entwicklung von Webanwendungen. Es hat sich Schritt für Schritt vom ursprünglichen Servlet 1.0 zu so vielen Frameworks weiterentwickelt jetzt. Bibliothek und das gesamte Ökosystem. Nach einer so langen Entwicklungszeit hat sich Java als ausgereifte Sprache auch zu einem sehr ausgereiften Ökosystem entwickelt. Aus diesem Grund verwenden viele Unternehmen Java als Mainstream-Sprache für die serverseitige Entwicklung und sind nach wie vor sehr aktive Java-Benutzer Base. Dieses Ökosystem ist jedoch komplex und eine sehr einfache Java-Webanwendung kann die folgenden Technologien anwenden:
Die Java-Entwicklung ist in zwei Lager unterteilt, eines wird durch das Oracle Java EE-Lager repräsentiert, dieses ist der offizielle Referenzstandard für die Webentwicklung. Zu den Kerntechnologien gehören Servlet, EJB, JMS, JSF, JDBC/JPA, JAXB, JAX-WS usw. Das andere Lager ist das Spring-Lager, das von der Open-Source-Community und Pivotal vertreten wird. Zu den Kerntechnologien gehören Spring Framework, Spring MVC, Spring Data, Spring Security usw.
Spring begann als Bean-Container für die Abhängigkeitsinjektion und entwickelte sich nach und nach zu einem Mainstream-Framework für die Java-Anwendungsentwicklung. Viele Java-Programmierer haben Java EE wegen seiner aufgeblähten, komplexen und schwer zu verwendenden Struktur aufgegeben. CDI (Context Dependency Injection) wurde erst seit Java EE6 eingeführt, und die Designideen von Java EE sind sehr akademisch und von den Anforderungen der Branche abgekoppelt, was die Java EE-Entwicklung sehr kompliziert macht. JSF wurde sogar von James Gosling, dem Vater von Java, kritisiert. Im Gegenteil: In der Spring-Community werden immer mehr moderne Anwendungsentwicklungsmethoden in verschiedene Spring-Projekte integriert.
Was ist Spring Boot?
Spring Boot ist ein Projekt, das durch das Feedback der Community vorangetrieben wird. Man kann sagen, dass Spring Boot eines der einflussreichsten Projekte in Spring und sogar in der gesamten Java-Community ist Zumindest in den letzten fünf Jahren. Spring Boot umfasst hauptsächlich die folgenden Funktionen:
Direkte Einbettung von Tomcat, Jetty oder Undertow als Servlet-Container. Von nun an ist es nicht mehr nötig, die Anwendung in einen War zu packen und sie dann auf den Anwendungsserver hochzuladen.
Bietet Starter-POM, das für die Paketverwaltung sehr praktisch sein kann und die Jar-Hölle oder Abhängigkeitshölle erheblich reduziert
Automatische Konfiguration des Spring-Frameworks, was Programmierern viel Zeit und Energie spart und es Programmierern ermöglicht, sich zu konzentrieren zum Schreiben von Geschäftslogikcode
Es ist kein Drittsystem erforderlich. Spring Boot verfügt über Programmstatusinformationen und Gesundheitsstatus, die in der Produktionsumgebung verwendet werden können. Gleichzeitig ermöglicht es Anwendungen, externe Konfigurationsinformationen sehr bequem
auszulesen, ohne dass eine automatische Codegenerierung erforderlich ist. Es ist nicht erforderlich, XML zum Konfigurieren des Frameworks zu verwenden
Warum ist Spring Boot subversiv?
Warum ist Spring Boot störend? Weil es das Modell der Java-Anwendungsentwicklung völlig verändert. In der Vergangenheit mussten wir bei der Entwicklung von Spring-Anwendungen wissen, welche Klassen wir konfigurieren mussten, um die Zusammenarbeit von Hibernate und Spring zu ermöglichen, und wie wir den View Resolver konfigurieren mussten, um zu steuern, welche Vorlage die Ansichtsebene anzeigt. Nachdem ich viel Code geschrieben habe, stelle ich oft fest, dass ich mich nur mit der Konfiguration des Spring-Frameworks selbst befasse, ohne eine einzige Zeile Geschäftslogik zu schreiben. Nach Abschluss der Entwicklung müssen wir noch über Bereitstellungsprobleme nachdenken, ganz zu schweigen von der Bereitstellung auf sehr leistungsstarken Anwendungsservern wie WebSphere, Weblogic oder JBoss. Auch wenn wir auf leichtgewichtigen Containern wie Tomcat oder Jetty bereitstellen, müssen wir wissen, wie das geht Konfigurieren Sie den Container, wie Sie die Konfigurationsdatei ändern usw. Und wenn mehrere Anwendungen auf demselben Tomcat bereitgestellt werden, kommt es häufig zu Konflikten. Selbst wenn wir viel Mühe aufwenden, um diese Probleme zu lösen, ist es für uns nach erfolgreicher Bereitstellung des Programms schwierig, den Betriebsstatus des Programms zu verstehen. Möglicherweise müssen wir viele Tools von Drittanbietern konfigurieren, um zu wissen, wie die Anwendung ausgeführt wird, welche Parameter sie hat und welche Umgebungsvariablen es gibt. Obwohl Spring uns dabei geholfen hat, das Problem der Abhängigkeitsinjektion zu lösen und einige MVC-Prozesse zu vereinfachen, hat das Spring-Framework selbst immer mehr Dinge integriert, wodurch es immer schwieriger zu konfigurieren ist und die Wartungskosten in die Höhe geschossen sind. Java-Programmierer sehen oft, wie Python-, Ruby- oder JavaScript-Programmierer ein paar Befehle eingeben, um einige Bibliotheken zu installieren, dann einfach ein paar Codezeilen eingeben, einige Frameworks wie Flask einführen und dann direkt eine einfache API ausführen. Derzeit beschäftigen sich Java-Programmierer möglicherweise noch mit der Frage, welche Bibliothek in Maven verwendet werden soll und wie sie im Code konfiguriert wird. Der Ausdruck in jedem Herzen muss so sein:
(Fragen Sie zu diesem Zeitpunkt nach dem psychologischen Schattenbereich von Java-Programmierern)
Die Zeit für Java ist gekommen Programmierer können stolz und stolz sein!
Traditionelle Spring-Entwicklung vs. Spring Boot-Anwendungsentwicklung
Als nächstes werde ich die traditionelle Spring-Anwendungsentwicklung und die Spring Boot-Anwendungsentwicklung anhand spezifischer vergleichen Beispiele. Wenn wir eine Hello World REST API entwickeln, sollte dies die traditionelle Spring-Entwicklung tun
1. Wenn Sie Maven für die Paketverwaltung verwenden, schreiben Sie pom.xml wie folgt:
Wie Sie oben sehen können, haben wir zum Schreiben einer einfachen Hallo-Welt-REST-API viele Paketabhängigkeiten wie Spring Core, Spring Web, Spring Web MVC, Java Servlet und Jackson eingeführt. Sie können sich vorstellen, wie dieser Pom für ein komplexeres Programm aussehen wird. . .
2. Schreiben Sie die HelloWorldInitializer-Klasse wie folgt
Dies ist bereits eine sehr einfache Java-Konfiguration. Freunde, die XML zum Konfigurieren von Spring vor Servlet 3.0 verwendet haben, sind jetzt möglicherweise zusammengebrochen. .
3. Schreiben Sie die HelloWorldConfiguration-Klasse
Beachten Sie, dass es in unserer Klasse keine einzige Geschäftslogik gibt. . .
Fangen Sie wirklich an, HelloWorldRestController zu schreiben
5. Laden Sie Tomcat herunter und stellen Sie es bereit
localhost:8080/HelloWorld, du hast endlich Hello World gesehen...
Ich habe es satt, das zu schreiben. . .
Als nächstes führt Sie ein Java-Veteran dazu, den Charme von Spring Boot zu erleben:
Schreiben Sie pom.xml
Beachten Sie, dass wir nur eine Paketabhängigkeit eingeführt haben, und lassen Sie es so, wie es mit der Version
Hier markieren wir die HelloWorldDemoApplication-Klasse als SpringBootApplication im Hintergrund basierend auf dieser Markierung Konfiguration, z. B. MVC konfigurieren, Paketscan konfigurieren, erforderliche Klassen einfügen, automatisch konfigurierte Klassen einfügen usw.
4. Starten Sie die Anwendung direkt ohne Bereitstellung
5. Besuchen Sie http://localhost:8080 und Sie können Hello World direkt sehen
Bisher dauerte das HelloWorld-Programm für Anfänger mindestens 10-20 Minuten. Ja, mit SpringBoot. Es ist kein Traum mehr, HelloWorld innerhalb von höchstens 3 Minuten abzuschließen.
Zusammenfassung
Hier erkläre ich kurz SpringBoot. Es macht unsere Java-Entwicklung nicht nur einfach und effektiv, sondern, was noch wichtiger ist, SpringBoot hat unser Verständnis der Java-Entwicklung völlig untergraben Wir haben zum ersten Mal das Gefühl: „Es stellt sich heraus, dass die Java-Entwicklung dies kann.“ Mit SpringBoot können sich Java-Programmierer stärker auf die Geschäftslogik konzentrieren und eine agilere Entwicklung durchführen.