Kotlin-allopen a jar

1. Prehľad

V Kotlin, všetky triedy sú predvolene konečné ktoré môžu byť okrem jeho jasných výhod problematické v jarných aplikáciách. Zjednodušene povedané, niektoré oblasti na jar fungujú iba s nekoncovými triedami.

Prirodzeným riešením je ručné otvorenie tried Kotlin pomocou otvorené kľúčové slovo alebo použiť kotlin-allopen plugin - ktorý automaticky otvorí všetky triedy potrebné pre fungovanie Spring.

2. Maven závislosti

Začnime pridaním závislosti Kotlin-Allopen:

 org.jetbrains.kotlin kotlin-maven-allopen 1.1.4-3 

Ak chcete povoliť doplnok, musíme nakonfigurovať kotlin-allopen v sekcii build:

 ... ... kotlin-maven-plugin org.jetbrains.kotlin 1.1.4-3 jar 1.8 kompilovať kompilovať kompilovať test-kompilovať test-kompilovať test-kompilovať org.jetbrains.kotlin kotlin-maven-allopen 1.1.4-3 

3. Inštalácia

Teraz zvážime SimpleConfiguration.kt, jednoduchá konfiguračná trieda:

@Configuration - trieda SimpleConfiguration {}

4. Bez Kotlin-Allopen

Ak zostavíme náš projekt bez doplnku, zobrazí sa chybové hlásenie:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Konfiguračný problém: @Configuration trieda 'SimpleConfiguration' nemusí byť konečná. Ak chcete pokračovať, odstráňte posledný modifikátor.

Jediným spôsobom, ako to vyriešiť, je manuálne otvorenie:

@Configuration otvorená trieda SimpleConfiguration {}

5. Vrátane Kotlin-Allopen

Otvorenie všetkých tried na jar nie je veľmi praktické. Ak použijeme doplnok, otvoria sa všetky potrebné triedy.

Jasne vidíme, že keď sa pozrieme na skompilovanú triedu:

@ Verejná otvorená trieda verejnej konfigurácie SimpleConfiguration () {}

6. Záver

V tomto rýchlom článku sme videli, ako vyriešiť problém „trieda nemusí byť konečná“ na jar a v Kotline.

Zdrojový kód tohto článku nájdete na GitHub.


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