Читать книгу Spring Boot - Mark Heckler - Страница 46

Hinzufügen einer Datenbankabhängigkeit

Оглавление

Um aus Ihrer Spring-Boot-Anwendung heraus Zugriff auf eine Datenbank zu erhalten, benötigen Sie einige Dinge:

 eine laufende Datenbank, ob initiiert durch/eingebettet in Ihre Anwendung oder einfach durch ihre Anwendung zugreifbar

 Datenbanktreiber, die einen programmatischen Zugriff erlauben, üblicherweise bereitgestellt durch den Hersteller der Datenbank

 ein Spring-Data-Modul zum Zugriff auf die Zieldatenbank

Bestimmte Spring-Data-Module enthalten passende Datenbanktreiber als einzeln wählbare Abhängigkeit aus dem Spring Initializr heraus. In anderen Fällen, etwa wenn Spring das Java Persistence API (JPA) zum Zugriff auf JPA-konforme Datenspeicher verwendet, ist es notwendig, die Spring-Data-JPA-Abhängigkeit und eine Abhängigkeit für den speziellen Treiber der Zieldatenbank, z.B. PostgreSQL, auszuwählen.

Um den ersten Schritt von Speicherkonstrukten zu einer persistenten Datenbank zu gehen, füge ich zunächst die Abhängigkeiten und damit die Funktionalitäten zur Build-Datei unseres Projekts hinzu.

H2 ist eine komplett in Java geschriebene schnelle Datenbank, die einige interessante und nützliche Eigenschaften besitzt. Zum einen ist sie JPA-konform, sodass wir die Verbindung zu unserer Anwendung auf die gleiche Weise herstellen können wie bei jeder anderen JPA-Datenbank wie Microsoft SQL, MySQL, Oracle oder PostgreSQL. Außerdem besitzt sie In-Memory- und Festplattenmodi. Dies bietet uns einige interessante Möglichkeiten, nachdem wir unsere im Speicher vorgehaltene (in-memory) ArrayList in eine im Speicher vorgehaltene Datenbank umgewandelt haben: Wir können entweder H2 persistent auf der Festplatte ablegen oder – da wir nun eine JPA-Datenbank verwenden – auf eine andere JPA-Datenbank wechseln. Beide Möglichkeiten sind an diesem Punkt viel einfacher umzusetzen.

Um es unserer Anwendung zu erlauben, mit der H2-Datenbank zu interagieren, füge ich die folgenden zwei Abhängigkeiten in den Abschnitt <dependencies> der pom.xml unseres Projekts ein:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

<dependency>

<groupId>com.h2database</groupId>

<artifactId>h2</artifactId>

<scope>runtime</scope>

</dependency>

Der Wirkungsbereich runtime der H2-Datenbanktreiber-Abhängigkeit bedeutet, dass sie im Laufzeit- und Test-Klassenpfad vorhanden ist, nicht jedoch im Compile-Klassenpfad. Diese Praxis ist empfehlenswert für Bibliotheken, die nicht für das Kompilieren erforderlich sind.

Wenn Sie Ihre aktualisierte pom.xml gespeichert und (falls notwendig) Ihre Maven-Abhängigkeiten neu importiert/aktualisiert haben, haben Sie Zugriff auf die Funktionalität, die in den hinzugefügten Abhängigkeiten enthalten ist. Jetzt schreiben wir erst einmal ein bisschen Code, um sie zu benutzen.

Spring Boot

Подняться наверх