Por qué la class Kotlin ya no necesita abrirse en Spring Boot

En un último video sobre Kotlin y Spring Boot: Spring Tips: Bootiful Kotlin Redux . La class de Application de Spring Boot se ve así:

 class SpringBootKotlinApplication fun main(args: Array<String>) { } 

Recuerdo que un Kotlin tiene que estar anotado como open en Spring Boot.

 open class SpringBootKotlinApplication 

Mira este video

Entonces, ¿por qué no es necesario anotar open ahora? Spring Boot necesita extender la class de aplicación ahora?

Cuando eche un vistazo a uno de los proyectos de ejemplo del hablante como este , notará un complemento de compilation , en este caso kotlin-maven-allopen . Se describe en los documentos oficiales:

Por ejemplo, cuando usa Spring, no necesita que todas las classs estén abiertas , sino solo las classs anotadas con annotations específicas como @Configuration o @Service. All-open permite especificar tales annotations.

Como SpringBootAnnotation , como una metaanotación, está cumpliendo esa condición, no hay necesidad de hacer que la class se open en el código fuente ya que el comstackdor lo hace detrás de las escenas.

  • ¿Cuál es la causa más probable de que las excepciones escapen misteriosamente de un bloque try-catch en este caso?
  • Trabajando con @Qualifier en las funciones de Kotlin
  • Kotlin & Hibernate IllegalArgumentException: no se puede establecer el campo String Job.name en Job
  • ¿Cómo get la variable de entorno de local usando @Value en spring?
  • ¿Cómo acceder a Mono <T> mientras se maneja la exception con onErrorMap ()?
  • No se puede usar la validation de spring con MongoDB
  • Al utilizar tanto publishOn como subscribeOn en un flujo, no ocurre nada
  • Seguridad de spring. Página de inicio de session multilenguaje basada en url
  • ¿Por qué necesito un repository y un service + contrato?
  • Kotlin coroutines y Spring Framework 5 types reactivos
  • Seleccione como en hibernación