[JAVA] [Memo] JSUG-Studiengruppe 2020 Teil 1 Frühling x Kotlin

JSUG-Studiengruppe 2020 Teil 1 Frühling x Kotlin Teilen Sie die Notizen mit, die Sie bei Ihrer Teilnahme gemacht haben.

Es ist sehr einfach, aber ich hoffe, Sie finden es hilfreich.

Spring Complete Understanding Guide mit Kotlin (@ngsw_taro)

Mit XX können Sie mit Kotlin ganz einfach mit der Frühlingsentwicklung beginnen

Spring Initializr Intellij IDEA (kostenpflichtige Version)

Kotlin verwendet auch Anmerkungen für die Bean-Registrierung und die Handler-Definition

Kotlin erbt nicht standardmäßig, daher müssen Sie den offenen Modifikator zur Serviceklasse hinzufügen. Wenn Sie jedoch das vollständig geöffnete Plug-In oder Kotot-Spring-Plug-In von Kotlin verwenden, wird es automatisch als offen behandelt.

Das von Spring Initializr generierte Projekt ist übrigens von Anfang an festgelegt.

Achten Sie auf die Validierung. Im Sinne von Java

class Body {
	@NotNull val value: Int
}

Wenn Sie schreiben, wird die Validierung nicht angewendet.

class Body {
	@field:NotNull val value: Int?
}

Schreiben Sie so.

Relativ neue Bean-Registrierung und Handler-Definition mit DSL für Kotlin

Bean Definition DSL Router DSL

Linter ktlint sogenannte Linter und Formatter Es gibt ein Gradle-Plug-In. Es gibt auch eine automatische Einstellung für IntelliJ IDEA.

Kotlins Collout ist nützlich für WebFlux

Kotlin hat einen Collout. Reaktorkompatible Bibliotheken sind offiziell.

Ktor fühlt sich gut an

・ Jet Brains offiziell ・ Sehr dünne Zusatzfunktionen bleiben dem Dritten überlassen ・ DSL ・ Nicht blockierend

Testen mit Junit in Kotlin

Verwenden Sie die Erweiterungsfunktion ExpectBody für Kotlin. Die Assertionsbibliothek verwendet AssertJ. (Natürlich Kotlin kompatibel) Ich mag das Gefühl, in einer Methodenkette zu schreiben.

Ich interessiere mich auch für assertk.

Wenn Sie sich über Kotlin lustig machen wollen, ist Mock K ein gutes Gefühl.

Unterstützt auch Corroutine.

Bonus: Wie greifen Sie auf die DB zu?

Ich verwende eine JDBC-Vorlage. Ich schreibe Raw SQL und ordne es der Klasse stetig zu. Die Belichtung wird ebenfalls von Jet Brains hergestellt und sieht gut aus.

Kotlin-Unterstützung im Frühjahr 5.2 (@gumimin)

Kotlin-Code wurde seit Spring 5.2 auch in die offizielle Spring-Dokumentation aufgenommen.

Router Functions Eine neue Routing-Methode, die sich von der herkömmlichen Annotation-Basis unterscheidet WebFlux.fn → Ab Frühjahr 5 WebMVC.fn → Ab Frühjahr 5.2 Funktionale Routing-Methode

MockMvc DSL Sauberer und verständlicher als die vorherige Methodenkette

@ConfigurationProperties Bindung an mehrere Eigenschaften gleichzeitig Entspannte Bindung funktioniert

Ab Boot 2.2.1 können Sie den Einstellungswert mit unveränderlich über den Konstruktor mit @ConstructorBinding abrufen. Sie benötigen jetzt @Compornent und @EnableAutoConfiguration.

Corroutine-Unterstützung

Was ist ein Collout? -Berechnungsinstanz, die es einfach macht, die Verarbeitung anzuhalten / fortzusetzen ・ So etwas wie ein Wiegefaden ・ Kann im asynchronen / wartenden Stil beschrieben werden ・ Das Konzept des Gültigkeitsbereichs erleichtert das Verwalten von Abhängigkeiten zwischen Collouts.

Dank der Coroutine-Unterstützung von WebFlux können Sie Coroutine-Typen anstelle von Reactor verwenden, wodurch Kotlin-ähnlicher und einfacher zu parallelisieren ist.

Die Leistung ist viel besser, wenn Sie auf Reactive programmieren können.

Bonus

Der State of Kotlin-Support im Frühjahr ist ein empfohlenes Video

Impressionen

Es war gut, beim Schreiben von Spring Boot in Kotlin viele Dinge wie Notizen und Tipps zu lernen. Ich werde mit Spring Initializr beginnen.

Da ich das Wort über Web Flux auf einer Ebene gehört hatte, die ich darüber gehört hatte, verstand ich das Konzept ein wenig besser und beschloss, es zu schreiben, da es tatsächlich Java sein kann.

Nochmals vielen Dank an alle Redner und Betreiber.

Recommended Posts

[Memo] JSUG-Studiengruppe 2020 Teil 1 Frühling x Kotlin
[Memo] JSUG Study Group 2019 Teil 7 Nutzung des Frühlings in Bizreach
JSUG Study Group 2018 Teil 4 Spring 5 & Spring Boot 2 praktische Eindrücke
Memo der JSUG-Studiengruppe 2018 Teil 2 - Bemühungen um Arbeitsspezifikationen im Frühjahr und in der API-Ära
Bericht über die Teilnahme an der JSUG-Studiensitzung
Frühlingsrahmen Einfaches Studienmemo (2): AOP
Anmerkung: Kotlin + Raum + RecyclerView + Datenbindung (Teil 2)
Anmerkungen zur Spring Framework-Studie [Teil 1] DI-Container
Frühlingsrahmen Einfaches Studienmemo (1): ApplicationContext, Bean, Autowired
Frühlingsrückblick Memo
Kotlin-Studienbuch (Kotlin)
Wie man Kotlin zum ersten Mal studiert ~ Teil 2 ~
Wie man Kotlin zum ersten Mal studiert ~ Teil 1 ~