为什么 Kotlin 类不再需要在 Spring Boot 中打开

Yan*_*fan 1 spring kotlin

在有关 Kotlin 和 Spring Boot 的最新视频中:Spring Tips: Bootiful Kotlin Redux。Spring Boot 的类Application如下所示:

class SpringBootKotlinApplication

fun main(args: Array<String>) {

}
Run Code Online (Sandbox Code Playgroud)

我记得 Kotlin 必须像openSpring Boot 中那样进行注释。

open class SpringBootKotlinApplication
Run Code Online (Sandbox Code Playgroud)

看这个视频

open那么为什么现在不需要注释呢?Spring Boot 现在需要扩展 Application 类吗?

s1m*_*nw1 6

当您查看像这样的扬声器\xe2\x80\x99s 示例项目之一时,您会注意到一个编译器插件(在本例中) kotlin-maven-allopen。官方文档中描述了它\xe2\x80\x99s :

\n\n
\n

例如,当您使用Spring时,您不需要打开所有类而只需打开带有特定注释(如@Configuration或@Service)的类。全开放允许指定此类注释。

\n
\n\n

作为SpringBootAnnotationmeta annotation,满足该条件,\xe2\x80\x99s 不需要open在源代码中创建该类,因为编译器在幕后完成它。

\n