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.