Kotlin-allopen i Proljeće
1. Pregled
U Kotlin, sve su klase prema zadanim postavkama konačne što, osim svojih jasnih prednosti, može biti problematično u proljetnim aplikacijama. Jednostavno rečeno, neka područja u proljeće rade samo s nezavršnim predavanjima.
Prirodno rješenje je ručno otvaranje klasa Kotlin pomoću otvorena ili za korištenje kotlin-alopen dodatak - koji automatski otvara sve klase potrebne za rad Springa.
2. Ovisnosti Mavena
Počnimo dodavanjem ovisnosti Kotlin-Allopen:
org.jetbrains.kotlin kotlin-maven-allopen 1.1.4-3
Da bismo omogućili dodatak, moramo konfigurirati kotlin-alopen u odjeljku izrade:
... ... kotlin-maven-plugin org.jetbrains.kotlin 1.1.4-3 proljeće 1.8 compile compile compile test-compile test-compile test-compile org.jetbrains.kotlin kotlin-maven-allopen 1.1.4-3
3. Postavljanje
Sada razmotrimo SimpleConfiguration.kt, jednostavna klasa konfiguracije:
@Configuration class SimpleConfiguration {}
4. Bez Kotlin-Allopen
Ako gradimo svoj projekt bez dodatka, vidjet ćemo sljedeću poruku o pogrešci:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Problem s konfiguracijom: Klasa @Configuration 'SimpleConfiguration' možda nije konačna. Uklonite konačni modifikator da biste nastavili.
Jedini način da se to riješi je ručno otvaranje:
@Configuration otvorena klasa SimpleConfiguration {}
5. Uključujući Kotlin-Allopen
Otvaranje svih razreda za proljeće nije baš zgodno. Ako koristimo dodatak, bit će otvorene sve potrebne klase.
Jasno to možemo vidjeti ako pogledamo sastavljenu klasu:
@Configuration javni otvoreni razred SimpleConfiguration javni konstruktor () {}
6. Zaključak
U ovom kratkom članku vidjeli smo kako riješiti problem "klasa možda nije konačna" u Springu i Kotlinu.
Izvorni kod za ovaj članak možete pronaći na GitHubu.