Spring Boot und Spring Cloud
By Eberhard Wolff and Tobias Flohre
5/5
()
About this ebook
Read more from Eberhard Wolff
Das Microservices-Praxisbuch: Grundlagen, Konzepte und Rezepte Rating: 0 out of 5 stars0 ratingsContinuous Delivery: Der pragmatische Einstieg Rating: 0 out of 5 stars0 ratingsMicroservices: Grundlagen flexibler Softwarearchitekturen Rating: 0 out of 5 stars0 ratings
Related to Spring Boot und Spring Cloud
Titles in the series (100)
Java EE Security Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Geolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsM2M by Eclipse Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsBig Data: Executive Briefing Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsTitanium Mobile: Multi Platform Apps mit JavaScript Rating: 0 out of 5 stars0 ratingsADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsZend Framework 2: Für Einsteiger und Umsteiger Rating: 0 out of 5 stars0 ratings
Related ebooks
Web-APIs mit ASP.NET MVC 6 Rating: 0 out of 5 stars0 ratingsReact lernen und verstehen Rating: 0 out of 5 stars0 ratingsASP.NET Core: Eine Einführung Rating: 0 out of 5 stars0 ratingsDie Serverwelt von Node.js Rating: 0 out of 5 stars0 ratingsC# 10 – kurz & gut Rating: 0 out of 5 stars0 ratingsDocker und die Containerwelt: Einstieg und Expertentipps rund um Docker-Container Rating: 1 out of 5 stars1/5Next Level JavaScript: Schlagworte Rating: 0 out of 5 stars0 ratingsAutomatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Rating: 0 out of 5 stars0 ratingsJava Core Programmierung: Memory Model und Garbage Collection Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsSingle-Page-Web-Apps: JavaScript im Einsatz: Webseiten erstellen mit AngularJS, Meteor und jQuery Mobile Rating: 0 out of 5 stars0 ratingsJava 8 - Die Neuerungen: Lambdas, Streams, Date and Time API und JavaFX 8 im Überblick Rating: 0 out of 5 stars0 ratingsJavaScript und Ajax: Das Praxisbuch für Web-Entwickler Rating: 0 out of 5 stars0 ratingsCloud Computing Anbietervergleich: Amazon / Microsoft / Google & Co Rating: 0 out of 5 stars0 ratingsProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratingsEinstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratingsC# 8.0 – kurz & gut Rating: 0 out of 5 stars0 ratingsClusterbau: Hochverfügbarkeit mit Linux Rating: 0 out of 5 stars0 ratingsDynamische Webseiten: Einstieg in HTML, PHP und MySQL Rating: 0 out of 5 stars0 ratingsCloud Computing Grundlagen: Technisch / rechtlich / wirtschaftlich und architekturell Rating: 0 out of 5 stars0 ratingsEinführung in die Programmierung mit Java: Begleitunterlagen zu dem Onlinekurs Rating: 0 out of 5 stars0 ratingsCloud-Services testen: Von der Risikobetrachtung zu wirksamen Testmaßnahmen Rating: 0 out of 5 stars0 ratingsKompaktkurs C# 7 Rating: 0 out of 5 stars0 ratingsAngriffsziel UI: Benutzeraktionen, Passwörter und Clickjacking Rating: 0 out of 5 stars0 ratingsC++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsMobile Web-Apps mit JavaScript: Leitfaden für die professionelle Entwicklung Rating: 0 out of 5 stars0 ratingsErfolgreiche Softwareprojekte im Web: 100 Gedanken zur Webentwicklung Rating: 0 out of 5 stars0 ratingsGraphQL: Eine Einführung in APIs mit GraphQL Rating: 0 out of 5 stars0 ratingsOAuth 2.0: Client & Server Rating: 0 out of 5 stars0 ratings
Internet & Web For You
Shopware 6 Handbuch Rating: 0 out of 5 stars0 ratingsJoomla 4.0 logisch!: Einfache Webseitenerstellung ohne Programmierkenntnisse Rating: 0 out of 5 stars0 ratingsWir machen dieses Social Media Rating: 0 out of 5 stars0 ratingsDas Facebook-Marketing-Buch Rating: 4 out of 5 stars4/5Einführung ins Darknet: Darknet ABC Rating: 0 out of 5 stars0 ratingsWordPress-Themes entwickeln: HTML5, CSS3, JavaScript und PHP: Praxiswissen und Quellcodes zum Entwurf von WordPress-Themes Rating: 0 out of 5 stars0 ratingsDer Content Faktor: Schreiben Sie Texte, die gefunden und gelesen werden Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsSchnelleinstieg WordPress SEO: Einstellungen, Keywords, Plug-ins und Strategien für optimales SEO Rating: 0 out of 5 stars0 ratingsHTML5 & CSS3 (Prags) Rating: 0 out of 5 stars0 ratingsPHP 7 und MySQL: Ihr praktischer Einstieg in die Programmierung dynamischer Websites Rating: 0 out of 5 stars0 ratingsJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Rating: 0 out of 5 stars0 ratingsUX Design - Definition und Grundlagen: Definition und Grundlagen Rating: 4 out of 5 stars4/5PHP für WordPress: Themes und Templates selbst entwickeln Rating: 0 out of 5 stars0 ratingsMQTT im IoT: Einstieg in die M2M-Kommunikation Rating: 0 out of 5 stars0 ratingsDas kleine Hypnose Einmaleins - Alles was Sie schon immer über die Hypnose wissen wollten von Ewald Pipper vom Hypnoseinstitut Rating: 0 out of 5 stars0 ratings30 Minuten Metaverse Rating: 0 out of 5 stars0 ratingsWas kommt. Was geht. Was bleibt.: Kluge Texte über die wichtigsten Fragen unserer Zeit Rating: 0 out of 5 stars0 ratingsMarketing für Selbständige: Schwerpunkt Social Media Rating: 0 out of 5 stars0 ratingsSo findest du den Einstieg in WordPress: Die technischen Grundlagen zu Installation, Konfiguration, Optimierung, Sicherheit, SEO Rating: 0 out of 5 stars0 ratingsStarke Webtexte. So texten Sie Ihre Website selbst Rating: 0 out of 5 stars0 ratingsIch Hacker – Du Script-Kiddy: Hacking und Cracking Rating: 0 out of 5 stars0 ratingsNext Level JavaScript: Schlagworte Rating: 0 out of 5 stars0 ratingsSeo Guru: Suchmaschinenoptimierung für Anfänger, Fortgeschrittene und Profis Rating: 0 out of 5 stars0 ratingsBug Bounty Hunting mit Kali-Linux oder Parrot Security OS: Hacking als Hautberuf oder Nebenjob Rating: 3 out of 5 stars3/5UX-Missverständnisse: Was sich User wirklich wünschen Rating: 0 out of 5 stars0 ratingsDie Zukunft der Lehrkraft: Lehren mit neuen Medien in der Erwachsenen- und Altenbildung Rating: 0 out of 5 stars0 ratingsAndroid Security: Von Fake-Apps, Trojanern und Spy Phones Rating: 0 out of 5 stars0 ratings
Reviews for Spring Boot und Spring Cloud
1 rating0 reviews
Book preview
Spring Boot und Spring Cloud - Eberhard Wolff
GmbH
1 Java-Entwicklung mit Spring
Das Spring Framework ist angetreten, um die Entwicklung von Enterprise-Java-Anwendungen deutlich zu vereinfachen. Spring Boot ist eine neue Etappe auf diesem Weg – und integriert außerdem Groovy und eingebettete Server in dieses Angebot. So bleibt das Spring-Ökosystem auch in Zukunft interessant.
Listing 1.1 ist das schon fast klassische Beispiel für die kürzeste Spring-Boot-Anwendung. Auch wenn es nicht so aussieht: Das ist Groovy-Code, und die Klasse ist auch tatsächlich vollständig. Es fehlen also auch keine import-Statements. Die Klasse ist als @RestController deklariert und reagiert dann wegen des @RequestMappings auf den URL /
. Sie gibt dann als Inhalt der HTTP-Response den String hallo
zurück.
Was muss man nun üblicherweise tun, um diese Klasse auch tatsächlich auszuführen? Nun, man benötigt verschiedene abhängige Bibliotheken, wie beispielsweise das Spring Framework. Und dann natürlich einen Webserver, in dem die Anwendung auch deployt werden muss. Voraussetzung ist meistens, dass die Anwendung als WAR-Datei vorliegt. Außerdem benötigt man typischerweise auch ein Build-System, das die WAR-Datei erstellt.
Nicht so mit Spring Boot: Es reicht einfach der Aufruf spring run Example.groovy, um die Anwendung laufen zu lassen. Wie ist das möglich? Nun, Spring Boot untersucht zunächst die Groovy-Klasse und stellt fest, welche Elemente genutzt werden. Im Beispiel sind dies die Annotationen @RestController und @RequestMapping – es handelt sich also offensichtlich um eine Webanwendung. Nun erzeugt Spring Boot die dafür notwendige Umgebung:
• Die imports für die Annotationen werden von Spring Boot ergänzt.
• Ebenso werden die notwendigen Bibliotheken – in diesem Fall also beispielsweise Spring – geladen.
• Schließlich wird ein Servlet-Container gestartet, in dem die Anwendung ablaufen kann.
Spring Boot macht sich zunutze, dass Groovy eine dynamische Sprache ist. So können beispielsweise imports ergänzt werden. Durch Spring Boot wird es also wesentlich einfacher, eine Groovy-Anwendung, die das Spring Framework nutzt, zu entwickeln und laufen zu lassen. Neben Webanwendungen unterstützt Spring Boot auch zahlreiche andere Arten von Applikationen – beispielsweise RabbitMQ- oder JMS-Anwendungen. Unter [1] finden sich die Beispiele in Groovy für die verschiedenen Technologien. Nach der Installation von Spring Boot kann man also gleich loslegen. Diese Installation ist recht einfach – sie wird unter [2] näher beschrieben.
@RestController
public class Example {
@RequestMapping(/
)
public String hallo() {
return hallo
;
}
}
Listing 1.1
Und was ist mit Java?
Bei Java ist die Nutzung von Spring Boot grundlegend anders: Es gibt ein recht einfaches pom.xml für das Maven-Build-System, das Abhängigkeiten zu Spring Boot und vor allem den Spring-Boot-Starter enthält (Listing 1.2). Alternativ können natürlich auch moderne Build-Systeme – also Gradle – verwendet werden [3]. Die Abhängigkeiten zu Spring Boot ziehen nun alle benötigten Libraries und auch einen eingebetteten Tomcat-Server nach und stellen so eine vollständige Laufzeitumgebung zur Verfügung. Der Controller aus Listing 1.1 ist zwar eigentlich für die Groovy-Version von Spring Boot gedacht – aber da der Code auch valides Java ist, kann er ebenso in der Java-Variante laufen. Die import-Statements sind dann natürlich zu ergänzen. Dennoch gibt es ein Problem: Wie startet man den Controller? Das spring-Kommando funktioniert leider nur für Groovy-Skripte.
Listing 1.2
Dazu ist Java-Code, der Code in Listing 1.3, notwendig – dieses Mal sind im Listing die eigentlich notwendigen import-Statements nicht dargestellt worden. Die Klasse ist im Wesentlichen eine Spring-Konfiguration – gekennzeichnet durch die Spring-Annotation @Configuration. Dank @ComponentScan werden für alle Klassen, die Spring-Annotationen haben, Spring Beans erzeugt – wenn sie in einem Subpackage dieser Klasse definiert sind.