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.


$config[zx-auto] not found$config[zx-overlay] not found