为什么Kotlin类不需要在Spring Boot中打开了
在关于Kotlin和Spring Boot的最新video: Spring Tips:Bootiful Kotlin Redux 。 Spring Boot的Application
类看起来像:
class SpringBootKotlinApplication fun main(args: Array) { }
我记得Kotlin必须注明在Spring Boot中是open
。
open class SpringBootKotlinApplication
看这个video 。
那么为什么现在没有必要注释? Spring Boot是否需要现在扩展Application类?
当你看一个这样的演讲者的示例项目之一,你会注意到一个编译器插件 ,在这种情况下, kotlin-maven-allopen
。 这在官方文档中有描述:
例如,当你使用Spring的时候,你不需要打开所有的类,而只需要使用@Configuration或者@Service等特定的注解来注解类。 全部打开允许指定这样的注释。
由于SpringBootAnnotation
作为一个元annotation
符合这个条件,所以不需要在源代码中open
这个类,因为编译器会在后台执行它。