Neue Funktionen in Spring Boot 1.4

Letzte Woche hat das Spring Boot-Team die Veröffentlichung von Spring Boot 1.4.0 M2 angekündigt. Die endgültige Veröffentlichung wird voraussichtlich nächsten Monat erfolgen. In der neuen Version stehen viele Änderungen an. In diesem Beitrag werde ich die Zusammenfassung der neuen Funktionen in Spring Boot 1.4 auflisten. Wenn Sie daran interessiert sind, die neuesten Updates zu Spring Boot zu erhalten, abonnieren Sie uns bitte hier.

Neue Funktionen in Spring Boot 1.4

Neue Funktionen in Spring Boot 1.4

Hier ist das Inhaltsverzeichnis für dieses Tutorial:

  • Ausführbares JAR-Layout
  • Verbesserungen bei Startfehlern
  • Ruhezustand 5
  • Spring Framework 4.3
  • Bibliothek Dritter
  • Benutzerdefinierter JSON-Serializer und Deserializer
  • Neue Unterstützung für die automatische Konfiguration
  • Couchbase
  • Neo4j
  • Narayana-Transaktionsmanager
  • Koffein-Cache
  • Aktuatorverbesserungen
  • Testen von Verbesserungen
  • Zusammenfassung
  • 1. Ausführbares JAR-Layout

    Wenn Sie die JAR-Datei als ausführbare Spring-Boot-Anwendung erstellen, werden alle Abhängigkeiten darunter gepackt WEB-INF/lib und die eigenen Klassen der Anwendung sind Pakete im Stammverzeichnis der JAR-Datei. Aber Spring Boot 1.4.0 packt die Abhängigkeiten darunter BOOT-INF/lib und anwendungseigene Klassen unten BOOT-INF/classes.

    2. Verbesserungen bei Startfehlern

    Es gibt eine Verbesserung bei der Anzeige der nützlichen Fehlerbeschreibung bei Startfehlern. Vor 1.4.0 zeigen Startfehler einen langen Stack-Trace, der das eigentliche Problem nicht anzeigt, es sei denn, ein Entwickler muss den vollständigen Stack-Trace lesen. Die neueste Version zeigt jedoch nur die Ursache des Fehlers und die Lösung.

    Wenn das Problem darin besteht, dass der Port des eingebetteten Servlet-Containers von einem anderen Dienst verwendet wird, lautet die vorhandene Fehlermeldung wie folgt:

    2016-02-16 17:46:14.334 ERROR 24753 --- [           main] o.s.boot.SpringApplication               : Application startup failed
    
    java.lang.RuntimeException: java.net.BindException: Address already in use
        at io.undertow.Undertow.start(Undertow.java:181) ~[undertow-core-1.3.14.Final.jar:1.3.14.Final]
        at org.springframework.boot.context.embedded.undertow.UndertowEmbeddedServletContainer.start(UndertowEmbeddedServletContainer.java:121) ~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293) ~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141) ~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) ~[spring-context-4.2.4.RELEASE.jar:4.2.4.RELEASE]
        at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) [spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) [spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191) [spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180) [spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
        at sample.undertow.SampleUndertowApplication.main(SampleUndertowApplication.java:26) [classes/:na]
    Caused by: java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_60]
        at sun.nio.ch.Net.bind(Net.java:433) ~[na:1.8.0_60]
        at sun.nio.ch.Net.bind(Net.java:425) ~[na:1.8.0_60]
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[na:1.8.0_60]
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.8.0_60]
        at org.xnio.nio.NioXnioWorker.createTcpConnectionServer(NioXnioWorker.java:190) ~[xnio-nio-3.3.4.Final.jar:3.3.4.Final]
        at org.xnio.XnioWorker.createStreamConnectionServer(XnioWorker.java:243) ~[xnio-api-3.3.4.Final.jar:3.3.4.Final]
        at io.undertow.Undertow.start(Undertow.java:137) ~[undertow-core-1.3.14.Final.jar:1.3.14.Final]
        ... 11 common frames omitted
    

    Die verbesserte Nachricht würde so aussehen:

    2016-02-16 17:44:49.179 ERROR 24745 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   :
    
    ***************************
    APPLICATION FAILED TO START
    ***************************
    
    Description:
    
    Embedded servlet container failed to start. Port 8080 was already in use.
    
    Action:
    
    Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.
    

    3. Ruhezustand 5

    Hibernate 5.1 ist der standardmäßige persistente Anbieter für Spring Boot 1.4.0. Wenn Sie von Spring Boot 1.3.0 auf 1.4.0 migrieren, müssen Sie von Hibernate 4.3 auf 5.1 wechseln. Hibernate 4.3 wird nur bis zum Ende der Spring Boot 1.4-Versionen unterstützt, danach wird es nicht mehr unterstützt. Daher ist es ratsam, sofort auf die neuesten Hibernate-Versionen zu aktualisieren.

    • Lesen Sie auch: Frühlings- und Ruhezustandsintegration

    Wenn Sie in Ihrer Bewerbung weiterhin die ältere Version verwenden möchten, ergänzen Sie bitte die folgenden Einträge in Ihrer pom.xml:

    <properties>
    	<hibernate.version>4.3.11.Final</hibernate.version>
    </properties>
    

    4. Spring Framework 4.3

    Spring Boot 1.4.0 erfordert und baut auf Spring Framework 4.3 auf. Im Rahmen dieser Version wurden viele gute Funktionen hinzugefügt. Sie können die Zusammenfassung der neuen Funktionen lesen, die in Spring Framework 4.3 eingeführt wurden (Lesen Sie auch: Spring 4-Tutorials).

    5. Bibliotheken Dritter

    Liste der Drittanbieter-Bibliotheken, die auf die neueste Version aktualisiert werden:

    • Ruhezustand 5.1
    • Jackson 2.7
    • Solr 5.5
    • Spring Data Hopper
    • Frühlingssitzung 1.2
    • Hazelcast 3.6.

    6. Benutzerdefinierter JSON-Serialisierer und Deserialisierer

    Wenn Sie eine Bean als JSON-Komponente registrieren möchten, können Sie diese verwenden @JsonComponent Anmerkung wie folgt:

    @JsonComponent
    public class Example {
    ....
    }
    

    @JsonComponent In der Anwendung wird der Kontext automatisch bei Jackson registriert.

    7. Neue Unterstützung für die automatische Konfiguration

    Spring Boot fügt für jede Version neue Autokonfigurationsmodule hinzu. In dieser Version wurden außerdem einige weitere Module hinzugefügt, um die automatische Konfiguration zu unterstützen.

    7.1. Couchbase

    Couchbase ist eine der beliebtesten NoSQL-Datenbanken. Spring Boot fügt Unterstützung für die automatische Konfiguration dieser Datenbank hinzu. Jetzt können Sie problemlos darauf zugreifen Bucket Und Cluster Bohne durch Zugabe der spring-boot-starter-data-couchbase Starter-POM und etwas mehr Konfiguration hinzufügen:

    spring.couchbase.bootstrap-hosts=my-host-1,192.168.1.123
    spring.couchbase.bucket.name=my-bucket
    spring.couchbase.bucket.password=secret
    

    7.2. Neo4j

    Für die Neo4j-Datenbank wurde Unterstützung für die automatische Konfiguration hinzugefügt.

    7.3. Narayana-Transaktionsmanager

    Für den Narayana-Transaktionsmanager wurde jetzt Unterstützung für die automatische Konfiguration hinzugefügt. Sie können zwischen Narayana, Bitronix oder Atomkos wählen, wenn Sie JTA-Unterstützung benötigen.

    7.4. Koffein-Cache

    Für Caffeine v2.2 wurde eine automatische Konfiguration hinzugefügt. Bestehende Guava-Cache-Benutzer sollten eine Migration zu Caffeine in Betracht ziehen, da die Guava-Cache-Unterstützung in einer zukünftigen Version eingestellt wird.

    8. Aktuatorverbesserungen

    In dieser Version gibt es bei den Federmanschetten-Aktuatormodulen nicht viele neue Funktionen. Es gibt eine leichte Verbesserung beim Info-Endpunkt-Informations- und Metrikfilter.

    Jetzt können Sie sich registrieren InfoContributor Schnittstelle zum Registrieren der Beans, die die Informationen den Info-Aktuator-Endpunkten zugänglich machen. Die Unterstützung erfolgte für:

    • Vollständige oder teilweise Git-Informationen, die von einem Build-Plugin generiert wurden
    • Build-Informationen, die mit dem Spring Boot Maven- oder Gradle-Plugin generiert wurden.
    • Benutzerdefinierte Informationen aus der Umgebung (Anfangsinformationen aller Eigenschaften.*)

    9. Testverbesserungen

    Spring Boot 1.4 fügt wesentliche Verbesserungen der Testunterstützung hinzu. Mit der neuen Version werden alle Testklassen in die dedizierten verschoben spring-boot-test Und spring-boot-test-autoconfigure.

    @SpringBootTest Anmerkung ersetzt die alte,@SpringApplicationConfiguration@ContextConfiguration mit dem SpringApplicationContextLoader, @IntegrationTest oder @WebIntegrationTest.

    Spring Boot 1.4 führt eine Reihe spezieller Testanmerkungen ein, die zum Testen bestimmter Teile Ihrer Anwendung verwendet werden können:

    Spring Boot 1.4 führt eine Reihe spezieller Testanmerkungen ein, die zum Testen bestimmter Teile Ihrer Anwendung verwendet werden können:

    • @JsonTest – Zum Testen des JSON-Marshallings und -Unmarshallings.
    • @WebMvcTest – Zum Testen von Spring MVC @Controllern mit MockMVC.
    • @DataJpaTest – Zum Testen von Spring Data JPA-Elementen

    Es gibt viele weitere Verbesserungen, die in der obigen Liste nicht aufgeführt sind. Ich werde in den zukünftigen Tutorials eine ausführliche Analyse jeder Funktion schreiben. Wenn Sie die neuesten Updates zu Spring Boot erhalten möchten, abonnieren Sie bitte hier.

    10. Zusammenfassung

    In diesem Tutorial habe ich die Liste der neuen Funktionen zusammengefasst, die im Rahmen der Spring Boot-Version 1.4 hinzugefügt werden. Ich habe nur die bemerkenswerten Funktionen behandelt, aber es gibt viele andere kleinere Verbesserungen, die hier nicht erklärt werden. Insgesamt ist Spring Boot 1.4 eine der wichtigsten Veröffentlichungen von Spring Boot mit zahlreichen Verbesserungen. Wenn Sie mit Spring Boot arbeiten, ziehen Sie bitte ein Upgrade auf die neueste Version in Betracht.

    Vielen Dank, dass Sie meinen Blog gelesen haben!! Viel Spaß beim Lernen!!

    Wenn Sie Fragen zu Spring Boot haben, schreiben Sie diese bitte in den Kommentarbereich. Wenn Sie an einem Spring-Projekt arbeiten und Beratung zur Spring-Boot-Implementierung suchen, können Sie mich gerne kontaktieren. Ich werde mein Bestes geben, um Ihnen zu helfen.

    Referenz:

    Kommentar verfassen

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    Nach oben scrollen