Spring Boot (eBook)
328 Seiten
O'Reilly Verlag
978-3-96010-605-0 (ISBN)
Leistungsstarke, produktionsreife Cloud-native Anwendungen mit dem beliebten Framework
- Erfahren Sie, wie Spring Boot die Entwicklung, die Konfiguation und das Deployment von Cloud-nativen Applikationen entscheidend vereinfacht
- Das Buch zeigt Ihnen, wie Sie direkt produktiv in die Arbeit mit Spring Boot einsteigen
- Für Java- und Kotlin-Entwickler:innen
Mit über 75 Millionen Downloads pro Monat ist Spring Boot das populärste und am weitesten verbreitete Java-Framework. Seine Benutzerfreundlichkeit und Leistungsfähigkeit haben die Anwendungsentwicklung von Monolith-Architekturen und Microservices revolutioniert. Doch die Einfachheit von Spring Boot kann auch verwirrend sein. Was brauchen Entwickler, um sofort produktiv zu werden? Dieses praxisorientierte Buch zeigt Ihnen, wie Sie das Framework nutzen, um erfolgreiche unternehmenskritische Applikationen zu entwickeln. Mark Heckler von VMware, der Firma hinter Spring, führt Sie durch die Architektur und die Konzepte von Spring Boot und behandelt auch Themen wie Debugging, Testen und Deployment. Wenn Sie mit Spring Boot schnell und effektiv Cloud-native Java- oder Kotlin-Anwendungen entwickeln wollen - inklusive reaktiver Programmierung, dem Erstellen von APIs und dem Einrichten von Datenbankzugriffen aller Art - dann ist dieses Buch genau das Richtige für Sie.
Mark Heckler ist Softwareentwickler und Spring Developer Advocat bei VMware. Als Java Champion und Google Developer Expert für Kotlin konzentriert er sich auf die Entwicklung innovativer, produktionsreifer Software für die Cloud. Mark engagiert sich in Open-Source-Projekten und ist Autor und Kurator des Blogs Hecklers in Development, brewing stronger Java (https://thehecklers.com).
Mark Heckler ist Softwareentwickler und Spring Developer Advocat bei VMware. Als Java Champion und Google Developer Expert für Kotlin konzentriert er sich auf die Entwicklung innovativer, produktionsreifer Software für die Cloud. Mark engagiert sich in Open-Source-Projekten und ist Autor und Kurator des Blogs Hecklers in Development, brewing stronger Java (https://thehecklers.com).
KAPITEL 2
Ihre Werkzeuge auswählen und beginnen
Wie Sie bald sehen werden, ist es einfach, mit dem Erstellen von Spring-Boot-Anwendungen anzufangen. Der schwierigste Teil dürfte sein, zu entscheiden, welche der verfügbaren Möglichkeiten Sie wählen sollten.
In diesem Kapitel schauen wir uns einige der ausgezeichneten Möglichkeiten an, die für Sie verfügbar sind, um Spring-Boot-Anwendungen herzustellen: Build-Systeme, Sprachen, Toolchains, Codeeditoren und so weiter.
Maven oder Gradle?
Java-Anwendungsentwicklern standen immer schon mehrere Build-Werkzeuge für ihre Projekte zur Verfügung. Einige von ihnen sind mit der Zeit – aus gutem Grund – aus der Mode geraten, sodass heute vor allem zwei Werkzeuge verwendet werden: Maven und Gradle. Spring Boot unterstützt beide gleichermaßen.
Apache Maven
Maven ist eine beliebte und solide Wahl für ein Build-Automatisierungssystem. Es existiert schon eine ganze Weile: Nachdem es 2002 erschienen ist, wurde es 2003 zu einem der wichtigen Projekte der Apache Software Foundation erklärt. Sein deklarativer Ansatz war zu damaliger Zeit und ist auch heute noch konzeptuell einfacher als die Alternativen: Sie erzeugen einfach eine XML-formatierte Datei namens pom.xml mit den gewünschten Abhängigkeiten und Plug-ins. Wenn Sie den Befehl mvn ausführen, können Sie eine »Phase« angeben, die fertiggestellt werden soll. Dadurch wird eine gewünschte Aufgabe ausgeführt, wie das Kompilieren, Entfernen früherer Ausgaben, Verpacken, Ausführen einer Anwendung und so weiter:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Maven erzeugt und erwartet per Konvention außerdem eine spezielle Projektstruktur. Es ist nicht ratsam, von dieser Struktur abzuweichen, wenn Sie nicht gerade planen, sich mit Ihrem Build-Werkzeug herumzustreiten, was eine wirklich schlechte Idee wäre. Für die große Mehrheit der Projekte funktioniert die konventionelle Maven-Struktur ganz hervorragend, sodass Sie hier kaum etwas ändern müssen. Abbildung 2-1 zeigt eine Spring-Boot-Anwendung mit der typischen Maven-Projektstruktur.
Abbildung 2-1: Maven-Projektstruktur in einer Spring-Boot-Anwendung
Näheres über die Projektstruktur, die Maven erwartet, erfahren Sie in The Maven Project’s Introduction to the Standard Directory Layout (https://oreil.ly/mavenprojintro). |
Falls einmal der Zeitpunkt kommt, an dem die Projektkonventionen von Maven und/oder das eng strukturierte Vorgehen für Builds Sie zu sehr einschränken, haben Sie eine andere ausgezeichnete Möglichkeit.
Gradle
Gradle ist eine andere beliebte Möglichkeit für das Erstellen von Java-Virtual-Machine-(JVM-)Projekten. Veröffentlicht im Jahre 2008, nutzt Gradle eine domänenspezifische Sprache (Domain Specific Language; DSL), um die Build-Datei build. gradle anzulegen, die sowohl minimal als auch flexibel ist. Hier sehen Sie ein Beispiel einer Gradle-Build-Datei für eine Spring-Boot-Anwendung.
plugins {
id 'org.springframework.boot' version '2.4.0'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
Gradle erlaubt Ihnen als Entwickler, als DSL die Programmiersprachen Groovy oder Kotlin zu verwenden. Außerdem besitzt es verschiedene Eigenschaften, die dazu dienen, die Wartezeit beim Building eines Projekts zu verringern:
- inkrementelles Kompilieren von Java-Klassen
- Vermeiden des Kompilierens für Java (in Fällen, in denen keine Änderungen aufgetreten sind)
- einen dedizierten Dämon für die Projektkompilierung
Die Wahl zwischen Maven und Gradle
Augenscheinlich überwiegen die Vorteile von Gradle … warum also nicht einfach dieses Build-Werkzeug nutzen?
Mavens strengerer deklarativer (manche sagen sogar starrsinniger) Ansatz sorgt jedoch dafür, dass die Dinge von Projekt zu Projekt und von Umgebung zu Umgebung unglaublich konsistent bleiben. Wenn Sie den Maven-Weg gehen, treten üblicherweise kaum Probleme auf. Sie können sich also auf Ihren Code konzentrieren, ohne sich große Gedanken um den Build machen zu müssen.
Als Build-System, das auf Programmierung/Skripting setzt, hat Gradle gelegentlich auch Probleme mit ersten Fassungen von neuen Sprachversionen. Das Gradle-Team reagiert normalerweise sehr schnell und räumt diese Probleme aus, doch falls Sie sofort auf frühe Sprachversionen wechseln wollen oder müssen, sollten Sie dies beachten.
Gradle kann für Builds schneller sein – manchmal sogar signifikant schneller, vor allem in größeren Projekten. Bei Ihren typischen microservicebasierten Projekten werden sich die Build-Zeiten zwischen vergleichbaren Maven- und Gradle-Projekten jedoch wahrscheinlich kaum unterscheiden.
Die Flexibilität von Gradle kann bei einfachen Projekten und bei Projekten mit sehr komplexen Build-Anforderungen sehr erfrischend sein. Allerdings kann sie vor allem in diesen komplexen Projekten auch bedeuten, dass Sie mehr Zeit zum Anpassen und zur Fehlersuche benötigen, falls etwas nicht so funktioniert, wie Sie es erwarten. Alles hat seinen Preis. TANSTAAFL (There Ain’t No Such Thing as a Free Lunch).
Spring Boot unterstützt sowohl Maven als auch Gradle. Wenn Sie den Initializr benutzen (auf den wir in einem folgenden Abschnitt eingehen werden), werden das Projekt und die gewünschte Build-Datei für Sie angelegt, sodass Sie schnell loslegen können. Spring Boot hilft Ihnen in jedem Fall gerne.
Java oder Kotlin?
Es gibt zwar viele Sprachen, die man in der JVM benutzen könnte, doch zwei sind ganz besonders weit verbreitet. Eines ist die ursprüngliche JVM-Sprache: Java; die andere ist relativ neu in dem Bereich: Kotlin. Beide sind in Spring Boot voll einsatzfähig.
Java
Je nachdem,...
Erscheint lt. Verlag | 8.11.2021 |
---|---|
Reihe/Serie | Animals | Animals |
Übersetzer | Kathrin Lichtenberg |
Verlagsort | Heidelberg |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Schlagworte | Cloud • Cloud Native • Java • jOOQ • Kotlin • Microservices • Programmierung • reactive • Spring • Spring Data • Spring Security • Spring Web MVC • Webflux |
ISBN-10 | 3-96010-605-X / 396010605X |
ISBN-13 | 978-3-96010-605-0 / 9783960106050 |
Haben Sie eine Frage zum Produkt? |
Größe: 11,4 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich