JSUG Study Group 2020 Part 1 Spring x Kotlin Partagez les notes que vous avez prises lors de votre participation.
C'est très simple, mais j'espère que vous le trouverez utile.
Spring Initializr Intellij IDEA (version payante)
Kotlin n'hérite pas par défaut, vous devez donc ajouter le modificateur open à la classe de service. Cependant, si vous utilisez le plug-in all open de Kotlin ou le plug-in kotlin-spring, il sera traité comme ouvert automatiquement.
Au fait, le projet généré par Spring Initializr est défini depuis le début.
Faites attention à la validation. Au sens de Java
class Body {
@NotNull val value: Int
}
Si vous écrivez, la validation ne sera pas appliquée.
class Body {
@field:NotNull val value: Int?
}
Écrivez comme ça.
Bean Definition DSL Router DSL
Linter ktlint soi-disant Linter et Formatter Il existe un plug-in Gradle. Il existe également un paramètre automatique pour IntelliJ IDEA.
Kotlin a un collout. Les bibliothèques compatibles avec Reactor sont officielles.
・ Officiel Jet Brains ・ Très fin, les fonctions supplémentaires sont laissées à la tierce partie ・ DSL ・ Non bloquant
Utilisez la fonction d'extension expectBody pour Kotlin. La bibliothèque d'assertions utilise AssertJ. (Bien sûr compatible Kotlin) J'aime la sensation d'écrire dans une chaîne de méthodes.
Aussi, je suis intéressé par assertk.
Prend également en charge corroutine.
J'utilise un modèle JDBC. J'écris du SQL brut et je le mappe régulièrement à la classe. L'exposé est également fabriqué par Jet Brains et semble bon.
Le code Kotlin a également été ajouté à la documentation officielle de Spring depuis le printemps 5.2.
Router Functions Une nouvelle méthode de routage différente de la base d'annotations traditionnelle WebFlux.fn → À partir du printemps 5 WebMVC.fn → À partir du printemps 5.2 Méthode de routage fonctionnelle
MockMvc DSL Plus propre et plus facile à comprendre que la chaîne de méthodes précédente
@ConfigurationProperties Liaison à plusieurs propriétés à la fois Travaux de reliure décontractée
Depuis Boot 2.2.1, vous pouvez obtenir la valeur du paramètre avec immuable via le constructeur avec @ConstructorBinding. Vous avez maintenant besoin de @Compornent et @EnableAutoConfiguration.
Qu'est-ce qu'un collout -Instance de calcul qui facilite la suspension / reprise du traitement ・ Quelque chose comme un fil de pesée ・ Peut être décrit dans le style async / wait ・ Le concept de portée facilite la gestion des dépendances entre les collouts. -Un module de conversion vers d'autres types de données compatibles Reactive Streams est fourni.
Le support coroutine de WebFlux vous permet d'utiliser des types coroutine au lieu de Reactor, ce qui le rend plus semblable à Kotlin et plus facile à mettre en parallèle.
Les performances sont bien meilleures si vous pouvez programmer en réactif.
The State of Kotlin Support in Spring est une vidéo recommandée
C'était bien d'apprendre beaucoup de choses comme des notes et des astuces lors de l'écriture de Spring Boot à Kotlin. Je vais commencer par Spring Initializr.
Aussi, depuis que j'avais entendu le mot sur Web Flux à un niveau que j'en avais entendu parler, j'ai compris un peu plus le concept et j'ai décidé de l'écrire car cela peut en fait être Java.
Encore une fois, merci beaucoup à tous les intervenants et opérateurs.
Recommended Posts