Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Spring Boot und Spring Cloud
Spring Boot und Spring Cloud
Spring Boot und Spring Cloud
Ebook77 pages32 minutes

Spring Boot und Spring Cloud

Rating: 5 out of 5 stars

5/5

()

Read preview

About this ebook

Mit Spring Boot lassen sich auf einfache Weise und nach dem Prinzip "Convention over Configuration" produktive Spring-Anwendungen erstellen. Dieser shortcut bietet eine verständliche Einführung in Spring Boot und erläutert, wie ein eigener Spring Boot Starter bei Java Batch für einen reibungsloseren Ablauf und Arbeitsersparnis sorgt. Nach Betrachtung der Java-Batch-Architektur mit Unterstützung von Spring Boot erklärt Tobias Flohre, wie man einen solchen Spring Boot Starter erstellt. In Kapitel 4 geht es um Microservices und die mit ihnen verbundenen Herausforderungen. Zur Komplexitätsreduktion dient das auf Spring Boot basierende Projekt Spring Cloud. In den folgenden zwei Kapiteln nimmt Eberhard Wolff die einzelnen Bestandteile von Spring Cloud unter die Lupe. Er beschäftigt sich mit Lastverteilung, Ausfallvermeidung bei REST-Kommunikation und der Konfiguration verteilter Services. Im sechsten Kapitel dreht sich alles um das Thema Netzwerkausfall. Um diesem entgegenzuwirken, setzt Spring Cloud die Technologien Hystrix und Turbine ein.
LanguageDeutsch
Release dateApr 27, 2015
ISBN9783868025408
Spring Boot und Spring Cloud

Read more from Eberhard Wolff

Related to Spring Boot und Spring Cloud

Titles in the series (100)

View More

Related ebooks

Internet & Web For You

View More

Related articles

Reviews for Spring Boot und Spring Cloud

Rating: 5 out of 5 stars
5/5

1 rating0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    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.

      4.0.0

     

        org.springframework.boot

        spring-boot-samples

        0.5.0.M4

     

      myapp

      jar

     

       

          org.springframework.boot

          spring-boot-starter-web

       

     

     

       

         

            org.springframework.boot

            spring-boot-maven-plugin

         

       

     

     

    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.

    Enjoying the preview?
    Page 1 of 1