[JAVA] [Memo] JSUG Study Group 2020 Partie 1 Spring x Kotlin

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.

Guide de compréhension complet du printemps avec Kotlin (@ngsw_taro)

Avec XX, vous pouvez facilement démarrer le développement Spring avec Kotlin

Spring Initializr Intellij IDEA (version payante)

Kotlin utilise également des annotations pour l'enregistrement du bean et la définition du gestionnaire

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.

Enregistrement de bean et définition de gestionnaire relativement nouveaux utilisant DSL pour Kotlin

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.

Le collout de Kotlin est pratique avec WebFlux

Kotlin a un collout. Les bibliothèques compatibles avec Reactor sont officielles.

Ktor se sent bien

・ Officiel Jet Brains ・ Très fin, les fonctions supplémentaires sont laissées à la tierce partie ・ DSL ・ Non bloquant

Tester avec Junit dans Kotlin

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.

Si vous voulez vous moquer de Kotlin, Mock K est un bon sentiment.

Prend également en charge corroutine.

Bonus: Comment accédez-vous à DB?

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.

Prise en charge de Kotlin au printemps 5.2 (@gumimin)

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.

Support Corroutine

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.

prime

The State of Kotlin Support in Spring est une vidéo recommandée

Impressions

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

[Memo] JSUG Study Group 2020 Partie 1 Spring x Kotlin
[Memo] JSUG Study Group 2019 Partie 7 Utilisation du printemps dans Bizreach
JSUG Study Group 2018 Part 4 Spring 5 & Spring Boot 2 Impressions pratiques
Memo of JSUG Study Group 2018 Partie 2-Efforts pour les spécifications de travail à l'ère du printemps et de l'API-
Rapport de participation à la session d'étude JSUG
cadre de printemps Mémo d'étude simple (2): AOP
Mémo: Kotlin + Room + RecyclerView + DataBinding (Partie 2)
Notes de l'étude Spring Framework [Partie 1] Conteneur DI
Spring framework Mémo d'étude simple (1): ApplicationContext, Bean, Autowired
Mémo rétrospective du printemps
Livre d'étude Kotlin (Kotlin)
Comment étudier le kotlin pour la première fois ~ Partie 2 ~
Comment étudier le kotlin pour la première fois ~ Partie 1 ~