Kotlin-allopen és tavasz

1. Áttekintés

Ban ben Kotlin, alapértelmezés szerint az összes osztály végleges ami egyértelmű előnyein túl problémás lehet a tavaszi alkalmazásokban. Egyszerűen fogalmazva, a tavasz egyes területei csak nem végleges osztályokkal működnek.

A természetes megoldás az, hogy a Kotlin osztályokat manuálisan megnyitja a nyisd ki kulcsszó vagy a kotlin-allopen plugin - amely automatikusan megnyitja az összes osztályt, amely szükséges a Spring működéséhez.

2. Maven-függőségek

Kezdjük a Kotlin-Allopen függőség hozzáadásával:

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

A bővítmény engedélyezéséhez konfigurálnunk kell a kotlin-allopen a build részben:

 ... ... kotlin-maven-plugin org.jetbrains.kotlin 1.1.4-3 rugó 1.8 összeállítása fordítás összeállítása teszt összeállítása teszt összeállítása teszt összeállítása org.jetbrains.kotlin kotlin-maven-allopen 1.1.4-3 

3. Beállítás

Most vegyük fontolóra SimpleConfiguration.kt, egy egyszerű konfigurációs osztály:

@Configuration osztály SimpleConfiguration {}

4. Anélkül Kotlin-Allopen

Ha a projektünket plugin nélkül építjük fel, a következő hibaüzenetet kapjuk:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Konfigurációs probléma: Lehet, hogy a @Configuration osztály 'SimpleConfiguration' nem végleges. Távolítsa el a végső módosítót a folytatáshoz.

Az egyetlen megoldás a kézi megnyitással:

@Configuration nyílt osztály SimpleConfiguration {}

5. Beleértve Kotlin-Allopen

Az összes osztály megnyitása tavasszal nem túl praktikus. Ha a plugint használjuk, akkor az összes szükséges osztály nyitva lesz.

Világosan láthatjuk, hogy ha megnézzük az összeállított osztályt:

@Configuration nyilvános nyílt osztályú SimpleConfiguration nyilvános konstruktor () {}

6. Következtetés

Ebben a rövid cikkben azt láthattuk, hogyan lehet megoldani az „nem biztos, hogy végleges osztály” problémát tavasszal és Kotlinban.

A cikk forráskódja megtalálható a GitHub oldalon.