Ein Leitfaden für den Frühling in Eclipse STS

Java Top

Ich habe gerade den neuen Learn Spring- Kurs angekündigt , der sich auf die Grundlagen von Spring 5 und Spring Boot 2 konzentriert:

>> Überprüfen Sie den Kurs

1. Übersicht

Dieser Artikel beschreibt einige der nützlichen Funktionen der STS-IDE (Eclipse Spring Tool Suite), die bei der Entwicklung von Spring-Anwendungen hilfreich sind.

Zunächst zeigen wir die Vorteile der Verwendung von STS im Vergleich zur herkömmlichen Methode zum Erstellen von Anwendungen mit Eclipse.

Danach konzentrieren wir uns darauf, wie eine Anwendung gebootet wird, wie sie ausgeführt wird und wie zusätzliche Abhängigkeiten hinzugefügt werden. Abschließend fügen wir Anwendungsargumente hinzu.

2. STS-Hauptfunktionen

STS ist eine Eclipse-basierte Entwicklungsumgebung, die für die Entwicklung von Spring-Anwendungen angepasst ist.

Es bietet eine sofort einsatzbereite Umgebung zum Implementieren, Debuggen, Ausführen und Bereitstellen Ihrer Anwendungen. Es beinhaltet auch die Integration für Pivotal tc Server, Pivotal Cloud Foundry, Git, Maven und AspectJ. STS wurde als Ergänzung zu den neuesten Eclipse-Versionen entwickelt.

2.1. Projektkonfiguration

STS versteht fast alle gängigen Java-Projektstrukturen. Es analysiert Konfigurationsdateien und zeigt dann detaillierte Informationen zu definierten Beans, Abhängigkeiten, verwendeten Namespaces an und extrahiert zusätzlich Übersichten für bestimmte Stereotypen.

2.2. STS-Funktionsübersicht

Eclipse STS validiert Ihr Projekt und bietet schnelle Korrekturen für Ihre Anwendungen. Wenn Sie beispielsweise mit Spring Data JPA arbeiten, kann die IDE zum Überprüfen von Abfragemethodennamen verwendet werden (mehr dazu in Abschnitt 6).

STS bietet auch eine grafische Ansicht aller Bean-Methoden und ihrer gegenseitigen Beziehungen. Sie können einen genaueren Blick auf den grafischen Editoren haben wollen , die mit STS kommen , indem sie in den Ansichten der Suche , die unter der Menüs sind Fenster , zeigen Ansicht und dann Frühling sind.

STS bietet auch andere zusätzliche nützliche Funktionen, die nicht nur auf Spring-Anwendungen beschränkt sind. Dem Leser wird empfohlen, sich die vollständige Liste der Funktionen anzusehen, die hier zu finden sind.

3. Erstellung einer Frühlingsanwendung

Beginnen wir mit dem Bootstrapping einer einfachen Anwendung. Ohne STS wird eine Spring-Anwendung normalerweise mithilfe der Spring Initializer-Website oder der Spring Boot-CLI erstellt. Dies kann vereinfacht werden, indem Sie in STS in Ihrem Dashboard auf Spring Starter Project erstellen klicken .

Im Starter - Projekt New Spring Bildschirm entweder die Standardeinstellungen verwenden oder eigene Anpassungen vornehmen und dann zum nächsten Bildschirm. Wählen Sie Web und klicken Sie auf Fertig stellen. Ihre pom.xml sollte jetzt ungefähr so aussehen:

 org.springframework.boot spring-boot-starter-parent 1.3.6.RELEASE     UTF-8 1.8    org.springframework.boot spring-boot-starter-web   org.springframework.boot spring-boot-starter-test test  

Ihre Version von Spring Boot ist möglicherweise anders, aber die neueste Version finden Sie immer hier.

4. Ausführen der Anwendung

Die oben genannte Anwendung kann gestartet werden, indem Sie mit der rechten Maustaste auf das Projekt klicken und Als Spring Boot-App ausführen auswählen . Ohne STS führen Sie die Anwendung höchstwahrscheinlich über die Befehlszeile mit dem folgenden Befehl aus:

$ mvn spring-boot:run

Standardmäßig werden Spring-Anwendungen mit Tomcat gestartet, das auf Port 8080 ausgeführt wird. Zu diesem Zeitpunkt startet die Anwendung auf Port 8080 und führt im Grunde nichts anderes aus, da wir noch keinen Code implementiert haben. Abschnitt 8 zeigt Ihnen, wie Sie den Standardport ändern.

5. Protokollierung und ANSI-Konsole

Wenn Sie das Projekt über die IDE mit dem Befehl run ausführen, werden Sie feststellen, dass die Konsole einige schöne farbcodierte Protokollanweisungen ausgibt. Wenn Sie es deaktivieren möchten, gehen Sie zu Konfigurationen ausführen ... und deaktivieren Sie das Kontrollkästchen ANSI-Konsolenausgabe auf der Registerkarte Spring Boot aktivieren. Alternativ können Sie es auch deaktivieren, indem Sie einen Eigenschaftswert in der Datei application.properties festlegen.

spring.output.ansi.enabled=NEVER

Weitere Informationen zur Konfiguration Ihrer Anwendungsprotokolle finden Sie hier.

6. JPA-Abfragenamenprüfungen

Manchmal kann das Implementieren einer Datenzugriffsschicht eine umständliche Aktivität sein. Möglicherweise muss viel Code für das Boilerplate geschrieben werden, um einfache Abfragen zu realisieren und eine Paginierung durchzuführen. Spring Data JPA (JPA) soll eine solche Implementierung von Datenzugriffsschichten erheblich erleichtern. Dieser Abschnitt zeigt einige der Vorteile der Verwendung von JPA in Verbindung mit STS.

Fügen Sie der zuvor generierten pom.xml zunächst die folgende Abhängigkeit für JPA hinzu :

 org.springframework.boot spring-boot-starter-data-jpa   com.h2database h2 

Möglicherweise haben Sie bemerkt, dass die Version in der obigen Erklärung nicht angegeben wurde. Dies liegt an der Tatsache, dass Abhängigkeiten von der übergeordneten Datei pom.xml verwaltet werden :

 org.springframework.boot spring-boot-starter-parent 1.3.6.RELEASE 

Damit JPA funktioniert, müssen Sie Ihre Entitätsmanager und Transaktionsmanager ordnungsgemäß definieren. Spring konfiguriert diese jedoch automatisch für Sie. Dem Entwickler bleibt nur noch die Erstellung der eigentlichen Entitätsklassen. Diese Entitäten werden vom Entitätsmanager verwaltet, der wiederum vom Container erstellt wird. Lassen Sie uns zum Beispiel eine Entitätsklasse Foo wie folgt erstellen :

@Entity public class Foo implements Serializable { @Id @GeneratedValue private Integer id; private String name; // Standard getters and setters }

Der Container durchsucht alle mit @Entity kommentierten Klassen aus dem Stammverzeichnis des Konfigurationspakets. Als Nächstes erstellen wir ein JPA-Repository für die Foo- Entität:

public interface FooRepository extends JpaRepository { public Foo findByNames(String name); }

Zu diesem Zeitpunkt haben Sie möglicherweise bereits bemerkt, dass die IDE diese Abfragemethode jetzt mit einer Ausnahme kennzeichnet:

Invalid derived query! No property names found for type Foo! 

Dies liegt natürlich daran, dass wir versehentlich ein 's' in den Methodennamen des JPA-Repositorys geschrieben haben. Um dies zu beheben, entfernen Sie die falschen 's' wie folgt:

public Foo findByName(String name);

Beachten Sie, dass für die Konfigurationsklasse kein @EnableJpaRepositories verwendet wurde. Dies liegt daran, dass die AutoConfigration des Containers eine für das Projekt vorregistriert .

7. Jar Type Search

"Jar Type Search" ist eine Funktion, die in STS 3.5.0 eingeführt wurde. Es bietet inhaltsgestützte Vorschläge in Projekten für Klassen, die sich (noch) nicht im Klassenpfad befinden. STS kann Ihnen beim Hinzufügen von Abhängigkeiten zu Ihrer POM-Datei helfen, falls diese noch nicht im Klassenpfad enthalten sind.

For example, let us add a line to the Foo entity class. For this example to work properly, please ensure first that the import statement for java.util.List is already present. Now we may add Google Guava as follows:

private List strings = Lists // ctrl + SPACE to get code completion

The IDE will suggest several dependencies to be added to the classpath. Add the dependency from com.google.common.collect,press return and add the dependency from Guava. The Guava jar will now automatically be added to your pom.xml file like so:

 com.google.guava guava 19.0  

As of version STS 3.8.0, you get a confirmation dialog box before STS makes its changes to your pom.xml.

8. Adding Application Arguments

One of the other powerful features of Spring is the support of external configurations which can be passed to an application in several ways, e.g. as command-line arguments, specified in properties or YAML files or as system properties. In this section, we focus on adding a configuration option as application start argument using STS. This is illustrated by configuring Tomcat to start on a different port.

In order to run an application on a Tomcat port other than the default, you may use the command below, where a custom port is specified as command-line argument:

mvn spring-boot:run -Drun.arguments="--server.port=7070"

When using STS, you have go to the run menu. Select run configurations… from the Run Configurations dialog, select Spring Boot App from the left panel and select demo – DemoApplication (this will be different if you did not select the default project). From (x)= Arguments tab type in the Program Arguments window

--server.port=7070

and run. You should see output in your console similar to the output that is shown below:

. . 2016-07-06 13:51:40.999 INFO 8724 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 7070 (http) 2016-07-06 13:51:41.006 INFO 8724 --- [ main] com.baeldung.boot.DemoApplication : Started DemoApplication in 6.245 seconds (JVM running for 7.34)

9. Conclusion

In diesem Artikel haben wir die Grundlagen der Entwicklung eines Spring-Projekts in STS gezeigt. Wir haben unter anderem die Ausführung von Anwendungen in STS, die Unterstützung bei der Entwicklung von Spring Data JPA und die Verwendung von Befehlszeilenargumenten gezeigt. Es gibt jedoch viele weitere nützliche Funktionen, die während der Entwicklung verwendet werden können, da STS eine Vielzahl von Funktionen bietet.

Die vollständige Implementierung dieses Artikels finden Sie im Github-Projekt. Dies ist ein Eclipse-basiertes Projekt, daher sollte es einfach zu importieren und auszuführen sein.

Java unten

Ich habe gerade den neuen Learn Spring- Kurs angekündigt , der sich auf die Grundlagen von Spring 5 und Spring Boot 2 konzentriert:

>> Überprüfen Sie den Kurs